List<Map<String, String>>使用stream函数转为Map<String,Map<String, String>>
时间: 2023-10-14 16:24:33 浏览: 91
list转String
5星 · 资源好评率100%
假设你有一个 `List<Map<String, String>>` 的对象,其中每个 `Map` 对象都有一个 `id` 字段作为键,你可以使用 Java 8 中的 Stream API 将其转换为一个 `Map<String, Map<String, String>>` 对象。具体实现如下:
```java
Map<String, Map<String, String>> result = list.stream()
.collect(Collectors.toMap(
map -> map.get("id"), // 将 id 字段作为键
Function.identity() // 将整个 map 对象作为值
));
```
以上代码使用 `Collectors.toMap` 方法将 `List<Map<String, String>>` 对象转换为 `Map<String, Map<String, String>>` 对象。其中第一个参数是一个 lambda 表达式,用于将每个 `Map` 对象的 `id` 字段作为键,第二个参数使用 `Function.identity()` 方法,表示将整个 `Map` 对象作为值。注意,如果列表中存在多个对象具有相同的 `id` 值,则后续对象会覆盖前面的对象。
阅读全文