簡體   English   中英

迭代器是快速失敗的,而枚舉不是。 除Javadoc給出的要點外,兩者之間是否還有其他區別?

[英]Iterator is fail-fast and Enumeration is not. Are there additional differences between the two other than the points given by Javadoc?

根據Javadoc,

新的實現應考慮優先使用Iterator而不是Enumeration

如果較新的實現應考慮使用Iterator,為什么不建議使用Enumeration?

迭代器是快速失敗的,而枚舉不是。 除Javadoc給出的要點外,兩者之間是否還有其他區別?

謝謝

描述了枚舉和迭代器之間的區別。 但是從根本上說,主要的區別似乎是迭代器具有一個枚舉沒有的remove方法,並且如果另一個線程試圖修改正在迭代的集合,則迭代器將拋出ConcurrentModificationException,而枚舉沒有這樣做。

不應該使用Java中的許多東西,但由於大量的遺留代碼,所以不能。 枚舉是一個,Vector,HashTable,Dictionary,Properties是其他。

有關更多差異:

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

Iterator添加了可選的remove操作,並具有較短的方法名稱。

迭代器比枚舉慢。 Iterator可以遍歷舊元素和非舊元素,但Enumeration只能遍歷舊元素Iterator是快速失​​敗的,但不能快速失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM