首页 > 代码库 > Java中Map集合的遍历方式

Java中Map集合的遍历方式

方法一:在for-each循环中使用entries来遍历

1 Map<Integer, Integer> map = new HashMap<Integer, Integer>();  2   3 for (Map.Entry<Integer, Integer> entry : map.entrySet()) {  4   5     System.out.println("Key = " + entry.getKey() + ", Value = "http://www.mamicode.com/+ entry.getValue());  6   7 }  

方法二:使用Iterator遍历

 1 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 2  3 Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator(); 4  5 while (entries.hasNext()) { 6  7     Map.Entry<Integer, Integer> entry = entries.next(); 8  9     System.out.println("Key = " + entry.getKey() + ", Value = "http://www.mamicode.com/+ entry.getValue());10 11 }

该方法还设计到一种设计模式,即迭代模式。该方法可以在遍历时调用iterator.remove()来删除entries。

也可以不加入泛型:

 1 Map map = new HashMap(); 2  3 Iterator entries = map.entrySet().iterator(); 4  5 while (entries.hasNext()) { 6  7     Map.Entry entry = (Map.Entry) entries.next(); 8  9     Integer key = (Integer)entry.getKey();10 11     Integer value =http://www.mamicode.com/ (Integer)entry.getValue();12 13     System.out.println("Key = " + key + ", Value = "http://www.mamicode.com/+ value);14 15 }

方法三 通过键集合遍历值

1 Map<Integer, Integer> map = new HashMap<Integer, Integer>();2 3 for (Integer key : map.keySet()) {4 5     Integer value =http://www.mamicode.com/ map.get(key);6 7     System.out.println("Key = " + key + ", Value = "http://www.mamicode.com/+ value);8 9 }

该方法效率很低,不推荐使用

方法四 values()方法

 1 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 2  3  4 for (Integer key : map.keySet()) { 5  6     System.out.println("Key = " + key); 7  8 } 9 10 for (Integer value : map.values()) {11 12     System.out.println("Value = "http://www.mamicode.com/+ value);13 14 }

 

Java中Map集合的遍历方式