【发布时间】:2019-11-26 09:59:49
【问题描述】:
我必须得到包含最大值的对象列表。 Java 8 中的比较器 max 只返回一个对象。
为此,我必须对列表进行两次流式传输:
OptionalInt max = students.stream()
.mapToInt(student -> student.getAssignedProjects().size())
.max();
return this.students.stream()
.filter(student -> student.getAssignedProjects().size() == max.getAsInt())
.collect(Collectors.toSet());
此解决方案有效。我认为有更好的方法来解决这个问题,但我想不通。
【问题讨论】:
标签: java java-stream