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