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()
二、感想
多想,多思考,多总结
近期评论