java 代码编写一下需求:1、创建两个map集合 map1和map2,并进行赋值。2、如果map1 中与map2 中的key值相同 就将其map1的value 赋值给对应的map2的value,3、使用stream 流 简化代码
时间: 2024-03-14 08:44:48 浏览: 118
好的,以下是符合您要求的 Java 代码:
```
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// 创建两个 map 集合并赋值
Map<String, String> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
map1.put("key3", "value3");
Map<String, String> map2 = new HashMap<>();
map2.put("key1", "value4");
map2.put("key4", "value5");
map2.put("key5", "value6");
// 如果 map1 中与 map2 中的 key 值相同就将其 map1 的 value 赋值给对应的 map2 的 value
map1.forEach((key, value) -> map2.computeIfPresent(key, (k, v) -> value));
// 使用 stream 流简化代码
map1.entrySet().stream()
.filter(entry -> map2.containsKey(entry.getKey()))
.forEach(entry -> map2.put(entry.getKey(), entry.getValue()));
}
}
```
上面的代码使用了 `computeIfPresent` 方法来实现将 map1 的 value 赋值给 map2 的 value,使用了 Stream 流来简化代码。如果您有其他问题或需求,请随时告诉我。
阅读全文