老师好,这个迭代器遍历有点看不懂啊,有这个知识点讲解吗

来源:4-4 Map集合的三种遍历方式

小白0719

2022-09-05 11:50:41

   Entry和entrySet()代表什么意思呢?

 //使用迭代器对象Iterator循环遍历每一个Entry对象,通过Entry对象获取键值对    

      public void doIterator(Map map){    

          Iterator<Map.Entry<String,Object>> itr =   map.entrySet().iterator();    

          while(itr.hasNext()){    

              Map.Entry<String,Object> entry =   itr.next();    

              System.out.println(entry.getKey() +   ":" + entry.getValue());    

        }    

    }    


写回答

1回答

好帮手慕小小

2022-09-05

同学你好

1、Entry是Map的一个内部接口,Entry中有getKey()、getValue()等方法。

https://img.mukewang.com/climg/63159d3909ca988007950412.jpg

1.1)HashMap中的内部类Node就是实现了Entry接口,Node用于存储HashMap中的节点信息,包含键值对等(也可简单理解为Map中采用Entry来存储节点信息,包含Key和Value。)

https://img.mukewang.com/climg/63159d020985d8f709910893.jpg

2、entrySet()方法返回值是set集合,集合的泛型为Map.Entry<K, V>,可以通过getKey()、getValue获取到Entry中的键和值。

https://img.mukewang.com/climg/63159b74095bb4a403130028.jpg


故使用map.entrySet()获取到Set<Map.Entry<K, V>>集合,再遍历这个集合,集合中元素通过getKey()、getValue()获取到Entry中的键和值。

https://img.mukewang.com/climg/63159eea0951193806960248.jpg

祝学习愉快~

0

0 学习 · 9886 问题

查看课程