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()); //第一种: /* *Set set=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.Entry entry=it.next(); System.out.println("key="+entry.getKey()+"andvalue="+entry.getValue()); } //第三种:推荐,尤其是容量大时 System.out.println("第三种:通过Map.entrySet遍历key和value"); for(Map.Entry entry: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存放数组并取出值代码详解等,感谢朋友们对本站的支持。