迭代器Iterator
概述:
迭代器(Iterator):它不是一個容器,它是一種用於訪問容器的方法,可用於迭代 List、Set和Map等容器。
迭代:一個一個的往外拿。
作用:幫我們遍歷或者拿到容器裡邊的資料。
常用操作:
-
next() 下一個
-
hasNext() 判斷是否存在下一個元素
-
remove() 刪除元素
遍歷List、Set和Map:
1. List的遍歷:
List list = new ArrayList();
list.add("小明");
list.add("小紅");
list.add("小藍");
list.add("小綠");【方法一】
for (int i = 0; i < list.size(); i++) { String s = (String) list.get(i);// 強轉 System.out.println(s); }
【方法二】
Iterator it = list.iterator(); // 建立一個List的迭代器 while(it.hasNext()){// 判斷有沒有下一個元素 String s = (String) it.next(); //也要強轉 System.out.println(s); }
注:迭代器是一次性的東西,用完了,拿完了再去用就會報錯!
2. Set的遍歷:
Set set = new HashSet();
set.add("小明");
set.add("小紅");
set.add("小藍");
set.add("小綠");Iterator it = set.iterator();// 創造一個Set迭代器 while(it.hasNext()){ String s = (String) it.next();// 強轉 System.out.println(s); }
3. Map的遍歷:
Map map = new HashMap();
map.put("明明","小明");
map.put("紅紅","小紅");
map.put("藍藍","小藍");
map.put("綠綠","小綠");【方法一】
// 迴圈遍歷拿到它的每一項(key和value)———— 拿到key就能拿到value————KeySet() Set set = map.keySet();// 拿到所有的key Iterator it = set.iterator();// 放到迭代器 while (it.hasNext()){ String key = (String) it.next(); // 所有的key System.out.println(map.get(key));// 通過key獲取value:get() }
【方法二】
Set set = map.entrySet();// set裡面裝的是entry Iterator it = set.iterator(); while (it.hasNext()){ Map.Entry entry = (Map.Entry) it.next(); // 拿到的是entry System.out.println(entry.getKey()); // 從entry裡拿到key System.out.println(entry.getValue()); // 從entry裡拿到value }
方法二圖解:
總結:
java中提供了很多種容器,它們在儲存元素時,採用的儲存方式不同。所以當我們要取出這些容器中的元素時,可以通過迭代器來完成。就比如,Set容器是一種非線性結構,資料沒有下標,即沒有索引,因此通過迭代器可以進行遍歷操作。
以上是我對今天所學Java迭代器(Iterator)知識的一些個人總結與感悟,最後,感謝各位大佬們看到了這裡!願你韶華不負,青春無悔!
注:
由於自己剛剛開始學習Java不久,語言文字描述、技術等各方面還不是很好,如果文章有任何錯誤和建議,請各位大佬盡情評論留言!如果這篇文章對你有些許幫助,希望可愛親切的您點個贊推薦一手,非常感謝啦!