
A:疊代器概述:
a:java中提供了很多個集合,它們在存儲元素時,采用的存儲方式不同。
我們要取出這些集合中的元素,可通過一種通用的擷取方式來完成。
b:Collection集合元素的通用擷取方式:在取元素之前先要判斷集合中有沒有元素,
如果有,就把這個元素取出來,繼續在判斷,如果還有就再取出出來。一直把集合中的所有元素全部取出。這種取出方式專業術語稱為疊代。
c:每種集合的底層的資料結構不同,例如ArrayList是數組,LinkedList底層是連結清單,但是無論使用那種集合,我們都會有判斷是否有元素
以及取出裡面的元素的動作,那麼Java為我們提供一個疊代器定義了統一的判斷元素和取元素的方法
*A:疊代器的代碼實作
public class IteratorDemo {
public static void main(String[] args) {
Collection<String> coll = new ArrayList<String>();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");
//疊代器,對集合ArrayList中的元素進行取出
//調用集合的方法iterator()擷取出,Iterator接口的實作類的對象
Iterator<String> it = coll.iterator();
//接口實作類對象,調用方法hasNext()判斷集合中是否有元素
//boolean b = it.hasNext();
//System.out.println(b);
//接口的實作類對象,調用方法next()取出集合中的元素
//String s = it.next();
//System.out.println(s);
//疊代是反複内容,使用循環實作,循環的條件,集合中沒元素, hasNext()傳回了false
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
}
增強for隻能用于周遊 并且不能用于需要索引的數組或集合: