Group by 使用
...2023年4月25日小于 1 分钟
Group by 使用
多个字段的 Group By
list.stream()
.filter(item -> item.getDate() <= curDate)
.collect(Collectors.groupingBy(item -> item.getClass() + "_" + item.getName(),
Collectors.maxBy(Comparator.comparing(ADto::getScore)))
.values()
.stream()
.collect(Collectors.toList())
.stream()
.filter(item -> item.isPresent())
.map(item -> item.get())
.collect(Collectors.toList());
Map<String, List<AClass>> groupedMap = list.stream()
.collect(Collectors.groupingBy(a -> a.getClass() + "," + a.getName() + "," + a.getType()),
LinkedHashMap::new,
Collectors.toList()));
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0
Powered by Waline v3.3.2