使用lambda表达式来创建一个新的Map<String,String> 并添加一条测试数据
时间: 2023-11-18 18:26:31 浏览: 64
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
// 使用lambda表达式创建新的Map并添加测试数据
Map<String, String> newMap = new HashMap<>();
newMap.putAll(map);
newMap.put("key4", "value4");
System.out.println(newMap); // 输出 {key1=value1, key2=value2, key3=value3, key4=value4}
相关问题
帮我写一个使用lambda表达式 实现创建一个新的Map<String,String> 并添加一条测试数据
Map<String, String> map = new HashMap<>();
map.put("key", "value");
或者使用lambda表达式:
Map<String, String> map = new HashMap<>();
map.computeIfAbsent("key", k -> "value");
将 List<Map<String, Object>>转换成 map的key的List集合
可以使用 Java 8 的流式操作和 Lambda 表达式来实现这个转换过程。具体的代码如下:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 添加一些测试数据
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 18);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 20);
list.add(map2);
// 使用流式操作转换 List<Map<String, Object>> 为 map 的 key 集合
List<String> keyList = list.stream()
.flatMap(map -> map.keySet().stream())
.distinct()
.collect(Collectors.toList());
System.out.println(keyList); // 输出结果:[age, name]
```
上述代码中,我们首先创建了一个 List<Map<String, Object>>,并向其中添加了两个包含 name 和 age 属性的 Map。然后,我们使用流式操作和 Lambda 表达式将 List<Map<String, Object>> 转换为了 map 的 key 集合,最后将结果保存在了 keyList 中。在这个过程中,我们首先使用 flatMap 操作将每个 Map 的 key 转换成一个流,然后使用 distinct 操作去重,最后使用 collect 操作将结果收集到一个 List 中。
阅读全文