Map的遍历方式通常分为4种,但是可能大家看完4种后也不清楚自己到底该用那种遍历方式,下面就根据遍历方式的特点分类说明。
1.单纯的获得key或者value,推荐使用map.keySet(),map.values()方式遍历。
Map<String, Integer> map = new HashMap();
map.put("a",1);
map.put("b",2);
map.put("c",3);
//map.keySet()
for(String key:map.keySet()){
System.out.println(key);
}
//map.values()
for(int value:map.values()){
System.out.println(value);
}
2.Map很大时,推荐使用 map.entrySet()来获得更好的性能。
for(Map.Entry<String, Integer> entry : map.entrySet()){
System.out.println(entry.getKey() + ":" + entry.getValue());
}
3.需要执行删除操作时,推荐使用Iterator迭代器
Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, Integer> entry = it.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
//删除操作
if(entry.getKey().equals("a")){
it.remove();
}
}
4.还有最后一种不推荐使用的
for(String key : map.keySet()){
System.out.println(key + ":" + map.get(key));
}
life is fantastic…