作者:zhangiloveyou | 来源:互联网 | 2024-11-16 16:06
本文介绍了在Java中遍历HashMap的三种常见方法:使用entrySet()、keySet()以及Java8引入的forEach。每种方法都有其特点和适用场景。
第一种方法:使用entrySet()
Map map = new HashMap();
Iterator> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = iter.next();
K key = entry.getKey();
V value = entry.getValue();
}
这种方法效率较高,推荐使用。
第二种方法:使用keySet()
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
K key = iter.next();
V value = map.get(key);
}
这种方法效率较低,因为每次都需要通过key来获取value,增加了额外的查找开销。
理由:使用keySet()实际上进行了两次遍历,一次是将key集合转换为迭代器,另一次是从HashMap中获取每个key对应的value。而使用entrySet()只需一次遍历,因为它将key和value一起放入entry中,减少了遍历的开销,因此效率更高。
第三种方法:Java 8中的forEach
Map map = new HashMap();
map.forEach((k, v) -> {
// 你的操作代码
});
Java 8引入的forEach方法使得遍历Map变得更加简洁和高效。它利用Lambda表达式,可以一行代码完成遍历操作,同时保持良好的可读性。