java stream流 将 List<Map<String, Object>>转换成 map的key=“code”的List集合
时间: 2023-11-11 11:10:51 浏览: 98
List<Bean>转换为List<Map>
可以通过 Java 8 中的 Stream API 来实现将 `List<Map<String, Object>>` 转换成 `Map` 的 key 为 "code" 的 `List` 集合。
具体实现如下:
```java
List<Map<String, Object>> list = ... // 原始 List<Map> 集合
List<String> codeList = list.stream()
.map(map -> map.get("code").toString()) // 将每个 Map 中的 "code" 字段转换成 String 类型
.collect(Collectors.toList()); // 将所有 "code" 字段的值收集到 List 集合中
Map<String, List<String>> resultMap = new HashMap<>();
resultMap.put("code", codeList); // 将 List 集合作为 value,"code" 作为 key,放入 Map 中
System.out.println(resultMap); // 输出结果
```
其中,`list.stream().map(...).collect(Collectors.toList())` 用于将每个 Map 中的 "code" 字段提取出来并转换成 `List<String>` 类型。
最后,将 `List<String>` 集合作为 value,"code" 作为 key,放入 `Map` 中即可。
需要注意的是,如果原始 List<Map> 集合中存在 "code" 字段的值为 `null` 或不存在 "code" 字段,则该方法会抛出空指针异常。因此,在实际使用中需要根据实际情况进行判空处理。
阅读全文