java疊代器Iterator
- 什麼是Iterator
- 怎麼擷取Iterator對象
- Iterator三個常用方法
-
- E next() 擷取單個元素
- boolean hasNext() 可用于循環周遊
- default void remove()
什麼是Iterator
public interface Iterator 由此可見它是一個接口
Iterator 是 Java 疊代器最簡單的實作,它是一種用于通路集合的方法,可用于疊代 ArrayList 和 HashSet 等集合。
怎麼擷取Iterator對象
Iterator是一個接口,沒有構造方法,那我們如何建立它的對象呢?
我們可以通過它的實作類來建立對象
public interface Collection extends Iterable Collection是一個接口它繼承了Iterable接口,是以它會重寫Iterable裡面的方法,而Collection也是一個接口,我們要建立它的對象,應該去找它的實作類,比如ArrayList
//擷取集合對象
Collection c = new ArrayList();
//添加元素
c.add("123");
c.add(123);
c.add('c');
System.out.println(c);
//iterator iterator()擷取疊代器
Iterator it = c.iterator();
Iterator三個常用方法
E next() 擷取單個元素
傳回疊代中的下一個元素。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL4cjNhFjN1EDNzQjZxgTZ4cTZiRDZidTY3QGO4UjYiJ2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
boolean hasNext() 可用于循環周遊
如果next()傳回一個元素而不是抛出一個異常,則傳回true
換言之,調用hasNext() 用于檢測集合中是否還有元素。
default void remove()
從底層集合中删除此疊代器傳回的最後一個元素(可選操作)。 此方法隻能調用一次next() 。 如果底層集合在疊代過程中以任何方式進行修改而不是通過調用此方法,則疊代器的行為是未指定的。
換言之,調用 remove() 将疊代器傳回的元素删除。