Map集合的四种遍历方式代码示例
很久以前写的代码,和上一个做比较吧!便于以后查看。
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
publicclassTestMap{
publicstaticvoidmain(String[]args){
Mapmap=newHashMap();
map.put(1,"a");
map.put(2,"b");
map.put(3,"ab");
map.put(4,"ab");
map.put(4,"ab");//和上面相同,会自己筛选
System.out.println(map.size());
//第一种:
/*
*Setset=map.keySet();//得到所有key的集合
*
*for(Integerin:set){Stringstr=map.get(in);
*System.out.println(in+""+str);}
*/
System.out.println("第一种:通过Map.keySet遍历key和value:");
for(Integerin:map.keySet()){
//map.keySet()返回的是所有key的值
Stringstr=map.get(in);//得到每个key多对用value的值
System.out.println(in+""+str);
}
//第二种:
System.out.println("第二种:通过Map.entrySet使用iterator遍历key和value:");
Iterator>it=map.entrySet().iterator();
while(it.hasNext()){
Map.Entryentry=it.next();
System.out.println("key="+entry.getKey()+"andvalue="+entry.getValue());
}
//第三种:推荐,尤其是容量大时
System.out.println("第三种:通过Map.entrySet遍历key和value");
for(Map.Entryentry:map.entrySet()){
//Map.entry映射项(键-值对)有几个方法:用上面的名字entry
//entry.getKey();entry.getValue();entry.setValue();
//map.entrySet()返回此映射中包含的映射关系的Set视图。
System.out.println("key="+entry.getKey()+"andvalue="
+entry.getValue());
}
//第四种:
System.out.println("第四种:通过Map.values()遍历所有的value,但不能遍历key");
for(Stringv:map.values()){
System.out.println("value="+v);
}
}
}
结果:
4 第一种:通过Map.keySet遍历key和value: 1a 2b 3ab 4ab 第二种:通过Map.entrySet使用iterator遍历key和value: key=1andvalue=a key=2andvalue=b key=3andvalue=ab key=4andvalue=ab 第三种:通过Map.entrySet遍历key和value key=1andvalue=a key=2andvalue=b key=3andvalue=ab key=4andvalue=ab 第四种:通过Map.values()遍历所有的value,但不能遍历key value=a value=b value=ab value=ab
总结
以上就是本文关于Map集合的四种遍历方式代码示例的全部内容,希望对大家有所帮助。温故而知新,可以为师矣。。。map集合的遍历属于老话题了,有什么问题直接留言吧,小编会及时回复大家的。感兴趣的朋友可以继续参阅:Java中map遍历方式的选择问题详解、Struts2中ognl遍历数组,list和map方法详解、Javamap存放数组并取出值代码详解等,感谢朋友们对本站的支持。