使用 Stream 流将 List<Map<String, Object>> 转换为 Map<Long,Integer>
时间: 2023-10-14 18:43:03 浏览: 111
可以使用Java 8的Stream流来将List<Map<String, Object>>转换为Map<Long, Integer>。下面是一个示例代码:
```java
import java.util.*;
import java.util.stream.*;
public class ListMapToMapConversionExample {
public static void main(String[] args) {
List<Map<String, Object>> list = new ArrayList<>();
// 添加示例数据
Map<String, Object> map1 = new HashMap<>();
map1.put("id", 1L);
map1.put("value", 100);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("id", 2L);
map2.put("value", 200);
list.add(map2);
// 使用Stream流转换
Map<Long, Integer> result = list.stream()
.collect(Collectors.toMap(
m -> (Long) m.get("id"), // 键映射函数
m -> (Integer) m.get("value") // 值映射函数
));
// 打印结果
System.out.println(result);
}
}
```
这段代码首先创建了一个List<Map<String, Object>>,并添加了两个示例的Map对象。然后使用Stream流的collect方法和Collectors.toMap函数将List转换为Map。在toMap函数中,我们指定了键映射函数和值映射函数,分别从每个Map对象中获取"id"和"value"对应的值作为键和值。最后,将转换后的Map打印出来。
注意:代码中的键和值类型需要根据实际情况进行调整。
阅读全文