public interface Enumeration<E> {html
boolean hasMoreElements();函數
E nextElement();線程
}htm
public interface Iterator<E> {blog
boolean hasNext();接口
E next();事件
void remove();rem
}get
(01) 函數接口不一樣 同步
Enumeration 只有2個函數接口。 經過Enumeration,咱們只能讀取集合的數據,而不能對數據進行修改。
Iterator 只有3個函數接口。 Iterator除了能讀取集合的數據以外,也能數據進行刪除操做。
(02) Iterator 支持 fail-fast 機制,而 Enumeration 不支持 Enumeration 是JDK 1.0添加的接口。使用到它的函數包括Vector、Hashtable等類,這些類都是JDK 1.0中加入的,Enumeration存在的目的就是爲它們提供遍歷接口。Enumeration自己並無支持同步,而在Vector、Hashtable實現Enumeration時,添加了同步。 而Iterator 是JDK 1.2才添加的接口,它也是爲了HashMap、ArrayList等集合提供遍歷接口。Iterator是支持fail-fast機制的:當多個線程對同一個集合的內容進行操做時,就可能會產生fail-fast事件。