[转]使用Enumeration和Iterator遍历集合类
原文地址:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526268.html
前言
在数据库连接池分析的代码实例中,看到其中使用Enumeration来遍历Vector集合。后来就找了一些资料查看都有哪些方法可以遍历集合类,在网上找到了如下的使用Enumeration和Iterator遍历集合类的实例。不过这个实例中提到了Enumeration比Iterator的效率更高,其实并不是这样子的,该实例是的时间测试太片面了, 因为数据量太少。随着数据两的增加,两者之间的效率越来越接近,而不会出现倍数的比例。而且现在普遍都使用Iterator来遍历集合类,只有特别明确声明必须使用Enumeration的才会用该类遍历集合。
代码实例
废弃的接口:Enumeration
Enumeration接口是JDK1.0时推出的,是最好的迭代输出接口,最早使用Vector(现在推荐使用ArrayList)时就是使 用Enumeration接口进行输出。虽然Enumeration是一个旧的类,但是在JDK1.5之后为Enumeration类进行了扩充,增加了 泛型的操作应用。
Enumeration接口常用的方法有hasMoreElements()(判断是否有下一个值)和 nextElement()(取出当前元素),这些方法的功能跟Iterator类似,只是Iterator中存在删除数据的方法,而此接口不存在删除操作。
为什么还要继续使用Enumeration接口
Enumeration和Iterator接口功能相似,而且Iterator的功能还比Enumeration多,那么为什么还要使用 Enumeration?这是因为java的发展经历了很长时间,一些比较古老的系统或者类库中的方法还在使用Enumeration接口,因此为了兼 容,还是需要使用Enumeration。
List接口的常用子类
List接口常用的子类有ArrayList和Vector,两者有许多相似的地方,下面给出这两者之间的比较
从实际的应用开发来看,ArrayList类使用的更多。
相关文章
- MyBatis 批量操作、集合遍历-foreach
- Map集合循环遍历的几种方式
- Java实现 LeetCode 617 合并二叉树(遍历树)
- 用TreeView控件遍历磁盘目录
- Java 集合之Collection 接口和遍历方法
- 集合 遍历 foreach Iterator 并发修改 ConcurrentModificationException [MD]
- 集合 数组 定义 转换 遍历 Arrays API MD
- ( “树” 之 前中后序遍历 ) 144. 二叉树的前序遍历 ——【Leetcode每日一题】
- 遍历获取Xml子节点值
- Atitit table的读取解析from html by jsoup java html paresr 目录 1. atitit.gui控件的定位与选择器1 2. 读取表格流程 遍历表格ta
- Android Set集合的遍历和Map键值对遍历
- 遍历数组、数组排序
- 【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
- 【Groovy】集合遍历 ( “ *. “ 展开操作符 | 代码示例 )
- 【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ << “ 操作符重载 | 使用集合中的 “ << “ 操作符添加一个元素 | 使用集合中的 “ << “ 操作符添加一个集合 )
- 【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )
- Map集合遍历的四种方式理解和简单使用
- python 遍历字典 提取指定key值value
- 重点掌握集合的四种操作:增加、删除、遍历、排序。
- jQuery 遍历函数
- python3遍历字典