0

根据 Javadoc,

新的实现应该考虑使用迭代器而不是枚举

如果较新的实现应该考虑使用迭代器,为什么不推荐使用枚举?

迭代器是快速失败的,而枚举不是。除了 Javadoc 给出的要点之外,两者之间还有其他区别吗?

谢谢

4

4 回答 4

4

描述了枚举和迭代器之间的区别。基本上,主要区别似乎是迭代器有一个枚举没有的删除方法,如果另一个线程试图修改正在迭代的集合,迭代器会抛出一个 ConcurrentModificationException ,而枚举没有。

于 2012-06-25T15:55:08.920 回答
3

Java 中的许多东西应该被弃用,但由于大量遗留代码而不能。枚举是一个,Vector、HashTable、Dictionary、Properties 是其他..

于 2012-06-25T15:53:11.123 回答
1

更多差异:

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html

迭代器添加了一个可选的删除操作,并且具有更短的方法名称。

于 2012-06-25T15:54:54.707 回答
0

迭代器比枚举慢。迭代器可以遍历遗留和非遗留元素,但枚举只能遍历遗留元素迭代器是快速失败的,但不是快速失败的。

于 2016-11-25T21:20:03.860 回答