HashMap循环问题
HashMap本身无iterator方法,可以通过以下两种方式进行循环遍历
一.通过hashMap.entrySet().iterator方式循环遍历

hashMap.entrySet得到Set<entry>后亦可通过for each循环遍历,如
for(Entry<Integer, String> entry:entrySet){
System.out.println("key:"+entry.getKey()+" value"+entry.getValue());
}
二.通过hashMap.keySet().iterator获取所有的键值,再通过hashMap.get(key)获取value值

同样,通过hashMap.keySet得到Set集后也可通过for each进行循环遍历,如
for(Integer key:keySet){
System.out.println("key:"+key+" value:"+hashMap.get(key));
}
总结,通过源代码发现两种方式性能差不多,若既需要value,也需要key,则可采用第一种方式,若只需要value,则采用第二种方式,详情参考: 《HashMap循环遍历深入研究》
浙公网安备 33010602011771号