Iterator是一個接口,包含三個方法:
- hasNext()
- next()
- remove()
Enumeration也是一個接口,它是一個遺留類,集合類中只有Vector和HashTable實現了該接口。它包含了兩個方法:
1. hasMoreElements()
2. nextElement()
由接口定義可知,Iterator在遍歷時可以對元素進行刪除操作;在多線程環境下,當遍歷過程中有其他線程對集合類的結構進行修改(刪除或添加元素,不包括修改某個元素的值),載單線程環境下,在遍歷過程中通過集合自己的方法(put或是remove)修改集合結構,則會拋出ConcurrentModification異常。而Enumeration是一種Read-only。