Iterator與Enumeration的區別

Iterator是一個接口,包含三個方法:

  1. hasNext()
  2. next()
  3. remove()

Enumeration也是一個接口,它是一個遺留類,集合類中只有Vector和HashTable實現了該接口。它包含了兩個方法:
1. hasMoreElements()
2. nextElement()

由接口定義可知,Iterator在遍歷時可以對元素進行刪除操作;在多線程環境下,當遍歷過程中有其他線程對集合類的結構進行修改(刪除或添加元素,不包括修改某個元素的值),載單線程環境下,在遍歷過程中通過集合自己的方法(put或是remove)修改集合結構,則會拋出ConcurrentModification異常。而Enumeration是一種Read-only。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章