java合并两个map
时间: 2023-07-03 10:27:23 浏览: 113
可以使用Java 8的Stream API来合并两个Map。以下是一个示例代码:
```
Map<String, Integer> map1 = new HashMap<>();
map1.put("a", 1);
map1.put("b", 2);
Map<String, Integer> map2 = new HashMap<>();
map2.put("c", 3);
map2.put("d", 4);
Map<String, Integer> result = Stream.of(map1, map2)
.flatMap(map -> map.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, Integer::sum));
System.out.println(result);
```
输出:
```
{a=1, b=2, c=3, d=4}
```
在上面的代码中,我们首先创建了两个Map `map1`和`map2`,然后使用Java 8的Stream API将它们合并成一个新的Map `result`。具体来说,我们将两个Map转换为一个包含所有Entry的Stream,然后使用`Collectors.toMap`方法将它们收集到一个新的Map中。其中,`Map.Entry::getKey`和`Map.Entry::getValue`分别用于获取Entry的键和值,`Integer::sum`用于将两个具有相同键的值相加。
阅读全文