[英]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.