将一个list<Map<String,Object>>集合中某两个map中key的值单独抽离出来形成个新的list<Map<String,Object>>map集合
时间: 2024-11-12 11:46:42 浏览: 22
java代码-使用java解决bean&map工具类的源代码
当你有一个`List<Map<String, Object>>`类型的集合,其中每个map都包含一些键值对,你可以通过流(Stream)操作以及lambda表达式将特定键的值抽离出来,并创建一个新的列表。假设你想提取所有map中共享的某个键(例如键名为"commonKey"),可以按照以下步骤操作:
```java
List<Map<String, Object>> originalList = ...; // 原始列表
String commonKey = "commonKey"; // 需要提取的公共键
List<Map<String, Object>> newMapList = originalList.stream()
.flatMap(map -> Optional.ofNullable((Map<String, Object>) map.get(commonKey))
.map(value -> Collections.singletonMap(commonKey, value)) // 创建只包含公共键的新map
.collect(Collectors.toList()); // 聚集到新列表中
// 新的列表newMapList现在包含了所有原始map中指定键的值
```
如果你有多个需要提取的键,可以在flatMap内部使用多个Optional.map()并联处理。
阅读全文