要在对象之间比较并返回该对象的Java流?
我有一个类对象的ArrayList
,如下所示:
ArrayList<Score> scoreboard = new ArrayList<>();
Score
类有一个字段points
:
class Score {
private int points;
//constructor and methods
}
如何使用Java streams来比较每个Score
对象中的points
,并返回具有最高/最低值的对象
我尝试过类似的方法,但没有成功:
scoreboard
.stream()
.max(Comparator.comparing(Score::getPoints)
.get()
.forEach(System::println);
# 1 楼答案
仔细看看您尝试过的内容:
在这里,您试图创建一个
Comparator
:你没有平衡括号;您使用的是一个不存在的方法,
System::println
将括号放在正确的位置:
然后打印:
或者,如果您不确定流是否为非空: