如何在Java中使用Iterator / Enumeration接口

时间:2012-10-03 16:31:24

标签: java iterator enumeration

  

可能重复:
  Difference between Java Enumeration and Iterator

我正在阅读这篇文章“Difference between Iterator & Enumeration

如果可以使用迭代器方法或枚举方法来执行相同的操作,那么有什么区别?

我希望在哪里使用这些接口?

3 个答案:

答案 0 :(得分:4)

枚举器是旧版Java 1.0的一部分。迭代器只出现在Java 1.2中。据我所知,枚举器只是为了向后兼容而保留。根据{{​​3}},所有新代码都应该使用Iterator接口。

  

注意:此接口的功能由   迭代器接口。此外,Iterator添加了一个可选的删除   操作,并具有较短的方法名称。新的实现应该   考虑使用Iterator优先于Enumeration。

在循环访问集合,列表,集等等或实现Iterator接口的东西时,应该使用迭代器。您还可以使用“new”(Java 5)for循环结构来迭代这样的集合。但请记住,在循环时从集合中删除项目的唯一安全方法是使用Iterator.remove()方法。

答案 1 :(得分:3)

迭代器是更新的首选方法。它添加了删除功能。

答案 2 :(得分:1)

枚举用于获取列表中的连续元素,不能用于以任何方式更改列表,例如通过插入或删除。但是,迭代器是一个实例化对象,它在列表中维护一个引用,并且可以在该引用处插入和删除元素,同时获取列表中的元素。
如果您只想获取列表中的元素,枚举和使用迭代器都可以正常工作。但是,如果您需要添加插入和删除功能,我建议使用迭代器。