HashMap的几种遍历方式

108 阅读1分钟

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());
});

遍历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);
});

如有不当地方欢迎指出