Map集合的四种遍历方式

 1 import java.util.HashMap;
 2 import java.util.Iterator;
 3  import java.util.Map;
 4  public class TestMap {
 5  public static void main(String[] args) {
 6  Map<Integer, String> map = new HashMap<Integer, String>();
 7  map.put(1, "a");
 8  map.put(2, "b");
 9  map.put(3, "ab");
10  map.put(4, "ab");
11  map.put(4, "ab");
12 // 和上面相同 , 会自己筛选 System.out.println(map.size());
13 // 第一种: /*
14   Set<Integer> set = map.keySet(); //得到所有key的集合
15  *
16  * for (Integer in : set) { String str = map.get(in);
17  * System.out.println(in + " " + str); }
18 */ System.out.println("第一种:通过Map.keySet遍历key和value:");  for (Integer in : map.keySet()) {
19  //map.keySet()返回的是所有key的值 
20     String str = map.get(in);//得到每个key多对用value的值
21     System.out.println(in + " " + str);
22  }
23  
24  // 第二种:
25 System.out.println("第二种:通过Map.entrySet使用iterator遍历key和value:");
26   Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
27  while (it.hasNext()) {
28  Map.Entry<Integer, String> entry = it.next();
29  System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
30  }
31  // 第三种:推荐,尤其是容量大时 
32  System.out.println("第三种:通过Map.entrySet遍历key和value");
33         for (Map.Entry<Integer, String> entry : map.entrySet()) {
34  //Map.entry<Integer,String> 映射项(键-值对) 有几个方法:用上面的名字entry
35  //entry.getKey() ;entry.getValue(); entry.setValue();
36  //map.entrySet() 返回此映射中包含的映射关系的 Set视图。
37       System.out.println("key= " + entry.getKey() + " and value= "+ entry.getValue());
38 }
39  // 第四种: System.out.println("第四种:通过Map.values()遍历所有的value,但不能遍历key");
40 for (String v : map.values()) {
41  System.out.println("value= " + v);
42  }
43 }
44  }
原文地址:https://www.cnblogs.com/thelovelybugfly/p/10864018.html