Enumeration接口和Iterator接口的區別

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事件。

相關文章
相關標籤/搜索