java排序数组列表以查找最高整数

bjp0bcyl  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(613)

我有一个玩家对象的数组列表。这些选手都有高分。我不知道如何通过数组列表找到得分最高的玩家。collections.sort对此不起作用

public void determineWinner() {

        for (int i = 0; i < playersList.size(); i++) {
             playersList.get(i).getFrameScores2();
             System.out.println("**************");
             System.out.println("Player " + playersList.get(i).getName() + " total score is : " + playersList.get(i).getTotalScore());
        }

    }
ycggw6v2

ycggw6v21#

使用 Collections.max() 以适当的方式 Comparator ```
Player topScorer = Collections.max(playerList, new Comparator() {
public int compare(Player p1, Player p2) {
return Integer.compare(p1.getTotalScore(), p2.getTotalScore());
}
});

如果 `Player` 对象使用 `getTotalScore()` 属性,考虑 `Player` 实施 `Comparable<Player>` ,使用与上述类似的代码。然后找到得分最高的人,你只要打电话 `Collections.max(playerList);` (无需提供 `Comparator` ).

相关问题