gpt4 book ai didi

Java流在对象之间进行比较并返回该对象?

转载 作者:行者123 更新时间:2023-11-30 06:04:46 26 4
gpt4 key购买 nike

我有一个类对象的ArrayList,如下所示:

ArrayList<Score> scoreboard = new ArrayList<>();

Score 类有一个字段 points:

class Score {
private int points;
//constructor and methods
}

我如何使用 Java 流来比较每个 Score 对象中的 point 并返回具有最高/最低值的对象?

我尝试过类似的方法,但没有成功:

scoreboard
.stream()
.max(Comparator.comparing(Score::getPoints)
.get()
.forEach(System::println);

最佳答案

仔细看看你尝试过的内容:

scoreboard.stream().max(Comparator.comparing(Score::getPoints).get().forEach(System::println);

在这里,您尝试创建一个比较器:

Comparator.comparing(Score::getPoints).get().forEach(System::println)

并且你没有平衡括号;并且您正在使用一个不存在的方法,System::println

将括号放在正确的位置:

Score maxScore = scoreboard.stream().max(Comparator.comparingInt(Score::getPoints)).get();
// Extra ^

然后打印它:

System.out.println(maxScore);

或者,如果您不确定流是否非空:

Optional<Score> opt = scoreboard.stream().max(...);
opt.ifPresent(System.out::println);

关于Java流在对象之间进行比较并返回该对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48609631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com