时间:2021-05-19
如下所示:
package java.util;public interface Enumeration<E> { boolean hasMoreElements(); E nextElement();}public interface Iterator<E> { boolean hasNext(); E next(); void remove();}(01) 函数接口不同
Enumeration 只有2个函数接口。 通过Enumeration,我们只能读取集合的数据,而不能对数据进行修改。
Iterator 只有3个函数接口。 Iterator除了能读取集合的数据之外,也能数据进行删除操作。
(02) Iterator 支持 fail-fast 机制,而 Enumeration 不支持
Enumeration 是JDK 1.0添加的接口。使用到它的函数包括Vector、Hashtable等类,这些类都是JDK 1.0中加入的,Enumeration存在的目的就是为它们提供遍历接口。Enumeration本身并没有支持同步,而在Vector、Hashtable实现Enumeration时,添加了同步。
而Iterator 是JDK 1.2才添加的接口,它也是为了HashMap、ArrayList等集合提供遍历接口。Iterator是支持fail-fast机制的:当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。
iterator是快速失败的,当你在遍历的时候,如果另起一个线程来修改它(集合的内容)的结构,这时迭代器会立马感知到,引起快速失败,抛出ConcurrentModificationException异常。
所以说iterator 是安全的
以上这篇详谈Enumeration接口和Iterator接口的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
javaIterator接口和LIstIterator接口分析目录1.Iterator接口2.ListIterator3.Iterator和ListIterat
迭代器Iterator接口1.迭代器接口Iterable内置方法iterator(),返回一个新建的Iterator。如:publicinterfaceIter
本文实例讲述了ES6Iterator接口和for...of循环用法。分享给大家供大家参考,具体如下://数组已经帮我们内置这个Iterator接口letarr=
Iterator和ListIterator的作用范围以及关系:(1)Iterator可以用于迭接口List的实现ArrayList,LinkedList以及Ma
1).Iterator是迭代器类,而Iterable是为了只要实现该接口就可以使用foreach,进行迭代.2).Iterable中封装了Iterator接口,