Java技术——Iterator和Enumeration的不同
来源:互联网 发布:2016小学生上网数据 编辑:程序博客网 时间:2024/06/06 17:43
0. Iterator和Enumeration的不同
(1)两者的函数接口不同
Enumeration只有2个函数接口,通过Enumeration我们只能读取集合的数据,而不能对数据进行修改。 Iterator有3个函数接口。Iterator除了能读取集合的数据之外,也能对数据进行删除操作。尽管前者还没有被弃用但是已经被后者所代替了,Enumeration已经过时的,之所以没有被弃用是因为它仍被几种从以前版本遗留下来的类(例如Vector)所定义的方法中使用。
两者的方法总结如下,区别一目了然:
//Enumeration指定下面的两个方法: //当仍有更多的元素可提取时返回true;当所有元素都被枚举了,则返回falseboolean hasMoreElements();//将枚举中的下一个对象做为一个类属 Object的引用而返回Object nextElement() ;
//Iterator接口中定义了三个方法://是否还有下一个元素hasNext();//返回下一个元素next();//删除当前元素remove();//需要注意的是,调用next()方法后才可以调用remove()方法//而且每次调用next()后最多只能调用一次remove()方法,否则抛出IllegalStateException异常
Enumeration 是JDK 1.0添加的接口。使用到它的函数包括Vector、Hashtable等类, Enumeration存在的目的就是为它们提供遍历接口,Enumeration本身并没有支持同步,而在Vector、Hashtable实现Enumeration时,添加了同步。
Iterator 是JDK 1.2才添加的接口,它也是为了HashMap、ArrayList等集合提供遍历接口。Iterator是支持fail-fast机制的。
fail-fast 机制是指Java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常,产生fail-fast事件。
1 0
- Java技术——Iterator和Enumeration的不同
- 【java】Iterator和Enumeration的比较
- Enumeration和Iterator的区别
- Enumeration和Iterator的区别
- Enumeration 和 Iterator 的区别
- Enumeration和Iterator的区别
- Enumeration和Iterator的取舍
- Enumeration和Iterator的区别
- Java中Iterator和Enumeration详解
- Java之Iterator和Enumeration比较
- java问题探讨之Iterator和Enumeration
- java集合18--Iterator和Enumeration比较
- java集合18--Iterator和Enumeration比较
- java集合--Iterator和Enumeration比较
- Enumeration接口和Iterator接口的区别
- 【java】Enumeration、Iterator、ListIterator
- Java迭代器Iterator、 Enumeration
- Iterator和Enumeration区别
- Python(十三)面向对象 -封装
- JVM结构、GC工作机制详解
- linux远程登录
- 判断当前app版本和appstore的版本
- C++中字符串(16进制)转为10进制
- Java技术——Iterator和Enumeration的不同
- LoadRunner模拟Json请求
- iOS本地数据存储安全
- 【Android 基础】MediaPlayer(1) 与Service 混合播放音乐
- JS中判断null、undefined与NaN的方法
- 宏定义学习
- 2016.10.9 Java相关的知识点(类加载机制及数据库)
- 3.2 Data Member的布局
- Android开发的网站推荐