list嵌套map stream 以单个字段去重
时间: 2023-07-07 12:24:39 浏览: 143
List<map>多字段组合排序
5星 · 资源好评率100%
可以使用Java 8的Stream API来实现。假设有一个名为list的List,其中每个元素都是一个Map对象,可以按照如下方式进行嵌套的Map和List去重:
```
List<Map<String, Object>> resultList = list.stream()
.map(map -> map.get("fieldName"))
.distinct()
.map(fieldName -> list.stream()
.filter(map -> map.get("fieldName").equals(fieldName))
.findFirst()
.get())
.collect(Collectors.toList());
```
其中,fieldName表示要去重的字段名。首先,使用map操作获取所有map对象中的fieldName属性值,并通过distinct操作去重。然后,再次使用map操作,获取每个fieldName属性值对应的第一个map对象,即去除重复的map对象。最后,使用collect操作收集结果到一个新的List中。
阅读全文