stream流将List<Map<String,Object>>根据id分组转换成新的List<Map<String,Object>>,并且将name转换成list的names
时间: 2023-10-14 21:35:14 浏览: 123
stream流的简单使用
好的,针对您的问题,可以使用Java 8的Stream API来进行操作。首先,需要将List<Map<String,Object>>根据id分组,并转换成一个新的List<Map<String,Object>>。可以使用Collectors.groupingBy和Collectors.mapping方法来实现,示例代码如下:
```
List<Map<String,Object>> result = myMapList.stream()
.collect(Collectors.groupingBy(map -> (Integer)map.get("id"),
Collectors.mapping(map -> (String)map.get("name"), Collectors.toList())))
.entrySet().stream()
.map(entry -> {
Map<String, Object> map = new HashMap<>();
map.put("id", entry.getKey());
map.put("names", entry.getValue());
return map;
})
.collect(Collectors.toList());
```
其中,myMapList是需要分组的List<Map<String,Object>>,每个Map对象包含id和name两个属性。执行完上述代码后,会返回一个新的List<Map<String,Object>>对象,其中每个Map对象包含id和names两个属性。
注意,上述代码中的Map中的key和GroupedObject中的属性名需要根据实际情况替换。
阅读全文