1. 使用Sream流实现 2. 使用正常的java代码实现 注意:不允许使用我们没学过的工具类 合并map1和map2生成新的map3。同时要求key相同时,保留map2的数据,最后把合并后的map3打印出来
时间: 2024-05-13 16:16:39 浏览: 39
使用Sream流实现:
```java
Map<String, Integer> map1 = new HashMap<>();
map1.put("a", 1);
map1.put("b", 2);
Map<String, Integer> map2 = new HashMap<>();
map2.put("b", 3);
map2.put("c", 4);
Map<String, Integer> map3 = Stream.concat(map2.entrySet().stream(), map1.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (v1, v2) -> v2));
map3.forEach((k, v) -> System.out.println(k + ": " + v));
```
使用正常的Java代码实现:
```java
Map<String, Integer> map1 = new HashMap<>();
map1.put("a", 1);
map1.put("b", 2);
Map<String, Integer> map2 = new HashMap<>();
map2.put("b", 3);
map2.put("c", 4);
Map<String, Integer> map3 = new HashMap<>(map1);
map2.forEach((k, v) -> map3.put(k, v));
map3.forEach((k, v) -> System.out.println(k + ": " + v));
```
输出结果:
```
a: 1
b: 3
c: 4
```
阅读全文