Iterator接口的概述
-
java.util.Iterator接口:選代器(對集合進行遍歷)
-
有兩個常用的方法
-
boolean hasNext()
如果仍有元素可以迭代,則返回true。
即判斷集合中還有沒有下ー個元素,有就返回true,沒有就返回
-
E next()
返回送代的下一個元素。
即取出集合中的下一個元素
-
-
iterator迭代器,是一個接口,我們無法直接使用,需要使用Iterator接口的實現類對象。
-
獲取實現類的方式比較特殊Collection接口中有一個方法,叫iterator(),這個方法返回的就是送代器的實現類對象
迭代器的使用步驟
- 使用集合中的方法 iterator()獲取送代器的實現類對象,使用Iterator接口接收(多態)
- 使用Iterator接口中的方法hasNext來判斷還有沒有下一個元素
- 使用Iterator接口中的方法next來取出集合中的下一個元素
迭代器的簡單使用
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collection;
public class Demo01Iterator {
public static void main(String[] args) {
Collection <String> collection = new ArrayList<>();
collection.add("1號");
collection.add("2號");
collection.add("3號");
collection.add("4號");
collection.add("5號");
// 第一步:使用集合中的方法 iterator() 獲取送代器的實現類對象
// 第二步:使用Iterator接口接收(多態)
Iterator<String> stringIterator = collection.iterator();
// 第三步:使用Iterator接口中的方法hasNext來判斷還有沒有下一個元素
while (stringIterator.hasNext()) {
// 第四步:使用Iterator接口中的方法next來取出集合中的下一個元素
System.out.println(
stringIterator.next()
);
}
}
}
輸出結果:
1號
2號
3號
4號
5號
迭代器的使用原理
-
new一個集合出來
collection = new ArrayList<>() -
假設集合中添加有元素
collection = [一號元素, 二號元素, 三號元素, 四號元素, 五號元素] -
集合中的元素對應的索引
Index = [0, 1, 2, 3, 4] -
調用iterator方法
collection.iterator()
作用:獲取迭代器的實現類對象井且會把指針(索引)指向集合的-1素引 -
代碼說明:
while (stringIterator.hasNext()) { stringIterator.next() }
- 通過Iterator接口的hasNext()方法,判斷集合是否還有沒有下一個元素。
- 如果有下一個元素,那么就調用Iterator接口的next()方法,取出下一個元素,並且會把指針向后移一位。
-
就這樣,從索引的 -1 位置的下一位索引,開始獲取元素,直到獲取完全。