Java枚举和迭代器之间的区别 [英] Difference between Java Enumeration and Iterator

查看:164
本文介绍了Java枚举和迭代器之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这两个接口有什么区别? 枚举 比使用 Iterator

What is the exact difference between these two interfaces? Does Enumeration have benefits over using Iterator? If anyone could elaborate, a reference article would be appreciated.

推荐答案

查看Java API规范中的 迭代器 界面中,介绍了 枚举

Looking at the Java API Specification for the Iterator interface, there is an explanation of the differences between Enumeration:


迭代器与
枚举不同方法:

Iterators differ from enumerations in two ways:


  • 迭代器允许调用者在迭代期间从底层
    集合中删除元素,

底线是枚举 Iterator 将给出连续的元素,但 Iterator 以这样的方式改进,因此方法名称更短,并且具有额外的 remove 方法。这是一个并排的比较:

The bottom line is, both Enumeration and Iterator will give successive elements, but Iterator is improved in such a way so the method names are shorter, and has an additional remove method. Here is a side-by-side comparison:

  Enumeration                     Iterator
  ----------------                ----------------
  hasMoreElement()                hasNext()
  nextElement()                   next()
  N/A                             remove()

如Java API规范中所述,对于较新的程序, Iterator 应优先于枚举,因为Iterator在Java集合框架中取代了枚举。 (从 迭代器 code> 规格。)

As also mentioned in the Java API Specifications, for newer programs, Iterator should be preferred over Enumeration, as "Iterator takes the place of Enumeration in the Java collections framework." (From the Iterator specifications.)

这篇关于Java枚举和迭代器之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆