如何通过一个参数对数组列表中的对象进行排序,如果该参数与java中另一个参数的顺序相同



所以我有一个数组列表,其中包含类播放器和一个从构造函数创建的对象,其中包含参数播放器(点数、奖杯(。

ArrayList<players> team = new ArrayList<players>();
players player = new players(15,2);
players player2 = new players(15,5);
players player3 = new players(14,8);
team.add(player);
team.add(player2);
team.add(player3);

我想按积分数排序,这样最高的积分会先打印出来,如果积分数与奖杯数相同,则按奖杯数排序。我试过像这样的收集方法

Collections.sort(team,Comparator.comparingInt(players::getPoints).reversed())

这成功地打印出了正确的积分顺序,但如果积分相同,我无法按奖杯排序。

试试这个:

Collections.sort(team, Comparator.comparingInt(players::getPoints).thenComparingInt(players::getTrophies).reverse());

最新更新