浅谈Java迭代器
迭代器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不久,语言文字描述、技术等各方面还不是很好,如果文章有任何错误和建议,请各位大佬尽情评论留言!如果这篇文章对你有些许帮助,希望可爱亲切的您点个赞推荐一手,非常感谢啦!