DESKTOP-EA11HIB_20200910-蒋宇飞

一、总结

1. java.util.Map.Entry 是个接口。
2. 定义:public static interface Map.Entry
3. 含义:映射项(键-值对),Map.entrySet 方法获取所有的Entry组成的Set集合,java.util.Set 接口继承了 java.util.Collection 接口,java.util.Collection 接口继承了 java.util.Iterator 接口,通过遍历Entry组成的Set集合获取到了所有的key-value。
4. 实现:
        Map<String,Integer> map = Map.of( "牛肉面" , 250 , "茶叶蛋" , 150, "小菜" , 100 );
        System.out.println( map );
        
        Set< Map.Entry<String,Integer> > entrys = map.entrySet();
        
        Iterator< Map.Entry<String,Integer> > itor = entrys.iterator();
        
        while( itor.hasNext() ) {
            Map.Entry<String,Integer> entry = itor.next();
            System.out.println( entry.getKey() + " : " + entry.getValue() );
        }
        
        for( Map.Entry<String,Integer> entry : map.entrySet() ) {
            System.out.println( entry.getKey() + " : " + entry.getValue() );
        }
        
5. for-each 与 Iterator 迭代的区别

Iterator 迭代必须创建Iterator 实例,通过Iterator 实例调用Iterator 方法来实现

for-each 可以通过 Set 、Collection 、Iterator 各自的实例来实现

Set实例可根据类型替换为map.values() 、 map.keySet() 、 map.entrySet()

Collection实例可可根据类型替换为map.values() 、map.keySet()、map.entrySet()

Iterator实例可可根据类型替换为map.values() 、map.keySet() 、map.entrySet()

二、感想

多想,多思考,多总结