顯示和隱藏的動畫效果
技術標籤:java集合筆記系列javaiterator設計模式介面
Iterator
集合學習筆記系列 續更
一、Iterator介紹
介面 Iterator
對 collection 進行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器與列舉有兩點不同:
(1)迭代器允許呼叫者利用定義良好的語義在迭代期間從迭代器所指向的 collection 移除元素。
(2)方法名稱得到了改進。
此介面是 Java Collections Framework 的成員。
二、方法摘要
三、方法詳細資訊
(1)hasNext
boolean hasNext()
如果仍有元素可以迭代,則返回 true。(換句話說,如果 next 返回了元素而不是丟擲異常,則返回 true)。
返回:
如果迭代器具有多個元素,則返回 true。
(2)next
E next()
返回迭代的下一個元素。
返回:
迭代的下一個元素。
丟擲:
NoSuchElementException - 沒有元素可以迭代。
(3)remove
void remove()
從迭代器指向的 collection 中移除迭代器返回的最後一個元素(可選操作)。每次呼叫 next 只能呼叫一次此方法。如果進行迭代時用呼叫此方法之外的其他方式修改了該迭代器所指向的 collection,則迭代器的行為是不確定的。
丟擲:
UnsupportedOperationException - 如果迭代器不支援 remove 操作。
IllegalStateException - 如果尚未呼叫 next 方法,或者在上一次呼叫 next 方法之後已經呼叫了 remove 方法。
四、Iterator遍歷例項
Collection coll = new ArrayList(); //建立物件 coll.add(123); coll.add(456); coll.add(new Person("tom",20)); coll.add(false);
while (iterator.hasNext()){
System.out.println(iterator.next());
執行結果
五、小筆記:
使用iterator中的hasNext()和next()進行遍歷流程
六、兩個常見錯誤的遍歷方法
錯誤方法一
執行結果:
錯誤方法二
執行結果: