创建一个Map集合并进行初始化
此时map对象中会去创建一个Entry对象用于存储键值关系
Map <String,String > map= new HashMap<>();
map.put("key1","value1");
map.put()...
将map中的entry(条目)对象或者键key放入一个集合中 ;
Set<Map.Entry<String,String>> set = map.entrySet();
//Set<String> set = map.keySet();
foreach遍历
优点:代码简洁,只读
缺点:无法修改,不支持双向遍历,跳过元素等操作
for(Map.Entry<String,String> entry : set){
String key = entry.getKey();
String value = entry.getValue();
}
//for(String key : set){
Integer value = map.get(key);
}
Iterator 遍历
优点:操作更灵活,细粒度更高,支持删除修改
缺点:容易出错
Iterator<Map.Entry<String,String>> it = set.iterator;
while(it.hasNext()){
Map.Entry<String,String> = it.next();
String key = entry.getKey();
String value = entry.getValue();
}
//Iterator<String> it = set.iteator;
while(it.hastNext()){
String key = it.next();
String value = map.get(key);
}
事实上,你也可以直接在foreach循环中直接使用map.keySet() 或者 map.entrySet()方法,因为他会直接返回一个set集合。
为什么不能直接访问map中的元素?
因为源码中的元素被声明为private类型,只能通过类内方法获得其元素
343

被折叠的 条评论
为什么被折叠?



