【发布时间】:2021-03-11 15:34:14
【问题描述】:
是否有可能(甚至可行)将这两个流操作合并到一个单遍解决方案中?
int max = locations.stream()
.map(location -> location.getAvailableScooters().size())
.max(Comparator.naturalOrder())
.orElse(-1);
return locations.stream()
.filter(location -> location.getAvailableScooters().size() == max)
.collect(Collectors.toSet());
【问题讨论】:
-
由于
max接受比较器,您可以考虑创建一个Comparator<Location>来查找max,因为您说您正在寻找所有符合条件和@987654325 的元素@ 和maxBy在这里可能会有所帮助。
标签: java merge java-stream max