Java中Map集合的遍历方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = " + 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 = " + 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 = (Integer)entry.getValue();
12 
13     System.out.println("Key = " + key + ", Value = " + value);
14 
15 }

方法三 通过键集合遍历值

1 Map<Integer, Integer> map = new HashMap<Integer, Integer>();
2 
3 for (Integer key : map.keySet()) {
4 
5     Integer value = map.get(key);
6 
7     System.out.println("Key = " + key + ", Value = " + 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 = " + value);
13 
14 }

 

以上是关于Java中Map集合的遍历方式的主要内容,如果未能解决你的问题,请参考以下文章

201621123037 《Java程序设计》第9周学习总结

Java中Map集合的遍历方式

Java中遍历Map对象的方式

Java集合的遍历方式

遍历Map集合的两种方式

遍历map集合的集中方式