Map集合的遍历经常遇到,今天在这里总结一下Map集合遍历的几种方式:
1 public static void main(String[] args){ 2 Map<String,String> map=new HashMap<String,String>(); 3 map.put("1","张三"); 4 map.put("2","李四"); 5 map.put("3","王五"); 6 7 }
- 通过Map.keySet遍历key和value
1 for(String key:map.keySet()){ 2 System.out.print("key="+key); 3 System.out.println("value="+map.get(key)); 4 5 }
2.通过Map.entrySet和迭代器遍历Map
Iterator<Map.Entry<String,String>> car =map.entrySet().interator(); while(car.hasNext()){ Map.Entry<String,String> entry=car.next(); System.out.println("key="+entry.getKey()+"and value="+entry.getValue()); }
3.Map.entrySet()加for in 循环(推荐):
for(Map.Entry<String,String> entry:map.entrySet()){ System.out.println("key="+entry.getKey()+"and value="+entry.getValue()); }
注:Map.entrySet()返回的是一个Set<Map<k,v>>,Map.Entry是一个接口,表示一个键值对(映射项),而Set<Map<k,v>>则表示映射项的Set。
4.通过Map.values():
for(String val:map.Values()){ System.out.println("value="+v); }
5.lambda表达式(推荐)
map.forEach((k,v)->{ System.out.println("key: " + k + " value : " + v); if("E".equals(k)){ System.out.println("Hello E"); } });