HashMap的几种遍历方式

entry 增强for循环方式

Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");Set<Map.Entry<Integer, String>> entrySet = map.entrySet();for (Map.Entry<Integer, String> entry : entrySet) {System.out.println(entry.getKey() + "=" + entry.getValue());
}

entry iterator遍历

Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");Set<Map.Entry<Integer, String>> entrySet = map.entrySet();Iterator<Map.Entry<Integer, String>> entryIterator = entrySet.iterator();
while (entryIterator.hasNext()) {Map.Entry<Integer, String> entry = entryIterator.next();System.out.println(entry.getKey() + "=" + entry.getValue());
}

通过entrySet stream流

Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");map.entrySet().stream().forEach((entry) -> {System.out.println(entry.getKey() + "=" + entry.getValue());
});作者:95604
链接:https://juejin.cn/post/7330807046977945650
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

遍历keySet再getValue

Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");for (int key : map.keySet()) {String value = map.get(key);System.out.println(key + "=" + value);
}

foreach

Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");map.forEach((key, value) -> {System.out.println(key + "=" + value);
});