If statement 如何比较ArrayList元素 private static ArrayList theWinnerIs(ArrayList玩家){ ArrayList winner=新的ArrayList(); ArrayList points=新的ArrayList(); 对于(int i=0;i

If statement 如何比较ArrayList元素 private static ArrayList theWinnerIs(ArrayList玩家){ ArrayList winner=新的ArrayList(); ArrayList points=新的ArrayList(); 对于(int i=0;i,if-statement,for-loop,arraylist,If Statement,For Loop,Arraylist,问题是您是否想要一个好的性能。如果不想要,那么您可以使用sort方法和自定义Comparator对ArrayList进行排序,这将是比较点的方法,请尝试以下方法: private static ArrayList<Game> theWinnerIs(ArrayList<Game> gamer){ ArrayList<Game> winner = new ArrayList<Game>(); ArrayList<Integer&

问题是您是否想要一个好的性能。如果不想要,那么您可以使用
sort
方法和自定义
Comparator
ArrayList
进行排序,这将是比较点的方法,请尝试以下方法:

private static ArrayList<Game> theWinnerIs(ArrayList<Game> gamer){
    ArrayList<Game> winner = new ArrayList<Game>();
    ArrayList<Integer> points = new ArrayList<Integer>();
    for(int i = 0; i<gamer.size(); i=i+1){
        int x = gamer.get(i).getPoints();
        winner.add(x);
    }

    return winner;
}
在此之后,玩家/玩家(我不太明白你的名字)得分最高的人将在列表的末尾,如果只有一个最高的分数,那么他将是最后一个。然后你只需要从列表中提取最后一个,并检查前一个是否有相同的分数,如果没有,则停止,如果是,则添加他,并检查他之前的分数等


另外,你的
积分列表在你的代码中是不必要的,如果你不打算用它做任何事情,记得把它删除。

问题是你是否想要一个好的性能。如果不是,那么你可以使用
排序方法和将要比较的自定义
比较器对
数组列表
进行排序e点,在你的方法中尝试以下方法:

private static ArrayList<Game> theWinnerIs(ArrayList<Game> gamer){
    ArrayList<Game> winner = new ArrayList<Game>();
    ArrayList<Integer> points = new ArrayList<Integer>();
    for(int i = 0; i<gamer.size(); i=i+1){
        int x = gamer.get(i).getPoints();
        winner.add(x);
    }

    return winner;
}
在此之后,玩家/玩家(我不太明白你的名字)得分最高的人将在列表的末尾,如果只有一个最高的分数,那么他将是最后一个。然后你只需要从列表中提取最后一个,并检查前一个是否有相同的分数,如果没有,则停止,如果是,则添加他,并检查他之前的分数等

此外,您的
积分列表在代码中不是必需的,如果您不打算对其进行任何操作,请记住将其删除