單列集合的遍歷需要使用迭代器。
什麼是迭代
迭代是Collection集合元素的通用獲取方式。在獲取元素之前先判斷集合中有沒有元素,如果有,就把這個元素取出來,重複上述操作,直到取出集合中的所有元素。這種取出元素的方式就成爲 迭代。
迭代器
public interface Iterator<E>
:對 collection 進行迭代的迭代器。泛型的實際類型參數需要和所遍歷集合的實際類型參數相同。
常用方法
集合遍歷演示
使用迭代器:
Collection<String> collection = new ArrayList<>();
collection.add("迪麗熱巴");
collection.add("古力娜扎");
collection.add("馬爾扎哈");
//獲取一個迭代器
Iterator<String> iterator = collection.iterator();
//判斷是否有下一個元素
while (iterator.hasNext()) {
//取出元素並後移
String name = iterator.next();
System.out.println(name);
}
//輸出:迪麗熱巴 古力娜扎 馬爾扎哈
實現原理
使用增強for循環:用來遍歷集合和數組。
底層也使用的是迭代器,所有實現Iterable接口的對象都可以使用增強for循環。Collection繼承了Iterable接口。
Collection<String> collection = new ArrayList<>();
collection.add("迪麗熱巴");
collection.add("古力娜扎");
collection.add("馬爾扎哈");
for (String name : collection) {
System.out.println(name);
}
//輸出:迪麗熱巴 古力娜扎 馬爾扎哈
增強for循環的格式
for(集合/數組中元素中的數據類型 變量名 : 集合名/數組名) {
}