Java8 Map循环用法介绍(java8的map遍历几种方式)

一、Map循环介绍

在Java中,Map是一种非常常见的数据结构。在循环遍历Map的时候,我们通常使用Iterator或者for-each循环。不过,Java8在这方面做出了很多改进,提供了更加简洁、高效的Map循环方式。

二、for-each循环Map

在Java8之前,很多人使用for-each循环来遍历Map,代码如下:

Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
  Integer key = entry.getKey();
  String value = entry.getValue();
  System.out.println(key + " = " + value);
}

在上面的代码中,我们遍历了一个Map,并输出了它的key和value。不过,这种方式比较繁琐,需要使用Iterator或者for-each循环来遍历entrySet(),取出每一个键值对。因此,Java8提供了更加优雅的方式——for-each循环Map:

Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
map.forEach((key, value) -> System.out.println(key + " = " + value));

上面的代码中,我们使用了forEach()方法来遍历Map。在其参数中,我们提供了一个Lambda表达式,它接收Map中的key和value,并输出它们的值。这样,我们可以更加简洁地遍历Map结构。

三、Map的其他操作

1. 获取所有的keys和values

在Java8之前,我们可以使用以下方式获取Map中所有的keys和values:

Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
Set<Integer> keys = map.keySet();
for (Integer key : keys) {
  System.out.println(key);
}
Collection<String> values = map.values();
for (String value : values) {
  System.out.println(value);
}

在上面的代码中,我们首先定义了一个Map,然后分别使用keySet()和values()方法获取所有的key和value。接着,我们使用for-each循环遍历它们,并输出它们的值。不过,这种方式比较繁琐,需要使用Iterator或者for-each循环来遍历。

与此相比,在Java8中,我们可以使用以下方式获取Map中所有的keys和values:

Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
map.keySet().forEach(key -> System.out.println(key));
map.values().forEach(value -> System.out.println(value));

在上面的代码中,我们使用了forEach()方法来遍历Map的keySet()和values()。这样,我们可以更加简洁地获取Map中所有的keys和values。

2. 替换Map中的值

在Java8中,我们可以使用以下方式来替换Map中的值:

Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
map.replaceAll((key, value) -> value + "s");
map.forEach((key, value) -> System.out.println(key + " = " + value));

在上面的代码中,我们使用了replaceAll()方法来替换Map中的值。该方法接收一个Lambda表达式,它接收Map中的key和value,并返回替换后的value值。这样,我们可以更加方便地替换Map中的值。

四、总结

在Java8中,提供了许多优雅、高效的Map循环方式,使用Lambda表达式来遍历Map结构,从而更加轻松、快捷地实现Map的各种操作。通过本文的介绍,相信大家对于Java8 Map循环有了更加深入的了解。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平