【发布时间】:2019-06-19 12:06:29
【问题描述】:
我有一个有名字和分数的对象。我想按名称对元素进行排序并找到该名称的最高分。
例如下面是对象(name, score):
(a, 3)
(a, 9)
(b, 7)
(b, 10)
(c, 8)
(c, 3)
输出应该是:
(a, 9)
(b, 10)
(c, 8)
我可以使用下面的代码进行排序,但我无法找出 max
List<Record> result = list.stream()
.sorted(Comparator.comparing(Record::score))
.collect(Collectors.groupingBy(Record::name, LinkedHashMap::new, Collectors.toList()))
.values().stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
【问题讨论】:
标签: java sorting comparator