黑马程序员技术交流社区

标题: 枚举与迭代器 [打印本页]

作者: 彭盼    时间: 2012-3-16 22:50
标题: 枚举与迭代器
老师说枚举与迭代器是差不多的,但是既然相同,为什么还要区别开,两者各自的优点有哪些,又适合应用于哪些情况下
作者: 泮和顺    时间: 2012-3-19 17:54
枚举与迭代器这两个接口底层差不多的  只是枚举英文单词太长==诸多原因所以被用的少
作者: 冯建鹏    时间: 2012-3-19 18:57
枚举是vector集合特有的方法,因为vector是JDK1.0版本出现的,而迭代器是JDK1.2出现的。

作者: 刘元明    时间: 2012-3-19 19:14
枚举是Vector集合的特有的遍历方式,举例使用它的代码如下:
Vector v =new V;
v.add("dkfj");
v.add("diu");
v.add("g");
Enumeration en=v.elements();
while(en.hasMoreElements())
{
     String s=en.nextElement();
     System.out.println(s);
}
显然它和Iterator功能差不多,可它的名称以及方法的名称都过长,所以逐渐被迭代器取代了
至于优缺点你可以从上边体会一下,呵呵
作者: 李飞    时间: 2012-3-19 19:26
当出现两个相同的时候可以从三个方面考虑,也就是JDK出现新特性的原因
1.安全性
2.简化书写
3.提高性能
这个是处于简化书写的

而且枚举是Vector集合的特有的遍历方式,书写麻烦,就改由迭代器代替了
作者: 陈从宾    时间: 2012-3-19 19:26
Iterator是对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
1、迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
2、方法名称得到了改进。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2