Java遍历Map的四种方法

版权声明:文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除或授权事宜,如果有误,请联系作者更改,谢谢,本人微信:void666666 https://blog.csdn.net/wt520it/article/details/84144171
Map在日常开发中那是几乎天天使用啊,放对象,放Message,放这放那的,到时候有时间了,你们一定得看源码,到时候给写出来。

Map遍历四种方式:

方法一. 在for-each循环中遍历keys或values。
Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
//遍历map中的键 
for (Integer key : map.keySet()) { 
  System.out.println("Key = " + key); 
} 
//遍历map中的值 
for (Integer value : map.values()) { 
  System.out.println("Value = " + value); 
}

这种方法代码比较简洁,效率也高点

方法二. 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用
Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
for (Map.Entry<Integer, Integer> entry : map.entrySet()) { 
  System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
}

这种方法最简洁的,键值对都需要时候使用

方法三 使用Iterator遍历
Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator(); 
while (entries.hasNext()) { 
  Map.Entry<Integer, Integer> entry = entries.next(); 
  System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
}

代码看起来比较累赘,但是遍历的时候可以调用iterator.remove()来删除数据。
性能方面来看:和for-each性能差不多

方法四 通过键找值遍历(效率低)
Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
for (Integer key : map.keySet()) { 
  Integer value = map.get(key); 
  System.out.println("Key = " + key + ", Value = " + value);

这种方法效率是最低的,不建议使用

总结:

a).一遍遍历的时候如果啊,如果key-value都需要使用的话,就是用方法一

文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除或授权事宜
如果有误,请联系作者更改,谢谢,本人微信:void666666

猜你喜欢

转载自blog.csdn.net/wt520it/article/details/84144171
今日推荐