黑马程序员技术交流社区

标题: Enumeration接口与Iterator接口的功能对比 [打印本页]

作者: 王延龙    时间: 2013-7-21 17:15
标题: Enumeration接口与Iterator接口的功能对比
本帖最后由 杨兴庭 于 2013-7-21 23:03 编辑
  1. import java.util.Enumeration;
  2. import java.util.Iterator;
  3. import java.util.Vector;

  4. public class VectorDemo {

  5.         /**
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {

  9.                 Vector v = new Vector();
  10.                
  11.                 v.addElement("元素1");
  12.                 v.addElement("元素2");
  13.                 v.addElement("元素3");
  14.                 v.addElement("元素4");
  15.                
  16.                 Enumeration en = v.elements();
  17.                 while(en.hasMoreElements()){
  18.                         System.out.println("nextelment:"+en.nextElement());
  19.                 }
  20.                
  21.                 Iterator it = v.iterator();
  22.                
  23.                 while(it.hasNext()){
  24.                         System.out.println("next:"+it.next());
  25.                 }
  26.         }

  27. }
复制代码
Enumeration接口与Iterator接口的功能应该是相同的
但是我运行的结果却是这样的
nextelment:元素4
next:元素1
next:元素2
next:元素3
next:元素4

求解?

作者: 薛淑凯    时间: 2013-7-21 17:43
我的测试很正常啊。。二者完全相同
作者: tonygone    时间: 2013-7-21 18:20
我的运行结果完全一样:
nextelment:元素1
nextelment:元素2
nextelment:元素3
nextelment:元素4
next:元素1
next:元素2
next:元素3
next:元素4
java.util.Enumeration 接口的作用与 Iterator 接口类似,但只提供了遍历 Vector 和 Hashtable (及子类 Perperties )类型集合元素的功能,不支持元素的移除操作。此外, Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。
此接口的功能与 Iterator 接口的功能是重复的。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。它并没有其他意义
作者: 杨兴庭    时间: 2013-7-21 23:03
楼主您好,我已将您帖子的状态改成“已解决”,对此如有疑问可以通过QQ632763270和我取得联系

-------------------坚持学习,黑马因你而精彩---------------
作者: Super_Class    时间: 2013-7-22 16:30
Vector 没有实现 Iterable接口。它是没有迭代器的吧




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