Java 通过一个实例变量对对象的ArrayList进行排序

Java 通过一个实例变量对对象的ArrayList进行排序,java,arraylist,Java,Arraylist,你好 我有一个对象(团队)的数组列表。他们是足球队,我想通过他们的得分来对他们进行分类。显然,我完全知道ArrayList是按照插入顺序排序的 但我有一个团队类,它有gamesWon、gamesLost、gamesTied和基于比赛结果的分数 我已经准备好了所有的东西,但是我认为通过ArrayList的点来整理它将是一个很酷的特性 我已经在线阅读了Collections.sort(myArrayList),但这是基于一种类型的变量进行排序的,因为我在ArrayList中有对象,所以我想对其进行排

你好

我有一个对象(团队)的数组列表。他们是足球队,我想通过他们的得分来对他们进行分类。显然,我完全知道ArrayList是按照插入顺序排序的

但我有一个团队类,它有gamesWon、gamesLost、gamesTied和基于比赛结果的分数

我已经准备好了所有的东西,但是我认为通过ArrayList的点来整理它将是一个很酷的特性

我已经在线阅读了Collections.sort(myArrayList),但这是基于一种类型的变量进行排序的,因为我在ArrayList中有对象,所以我想对其进行排序

多谢各位

马可

  • 定义一个
    java.util.Comparator
    ,它使用要检查的值实现
    compareTo

  • 使用接受
    比较器的排序方法。它将使用
    比较器的
    比较器
    方法,而不是
    团队
    中定义的方法(如果有)

  • 享受吧

  • 定义一个
    java.util.Comparator
    ,它使用要检查的值实现
    compareTo

  • 使用接受
    比较器的排序方法。它将使用
    比较器的
    比较器
    方法,而不是
    团队
    中定义的方法(如果有)

  • 享受吧

  • 您应该为此定义一个

    public class PointsBasedTeamComparator implements Comparator<Team> {
        public int compare(Team t1, Team t2) {
            //return the result of points comparison of t1 and t2
        }
    }
    
    您应该为此定义一个

    public class PointsBasedTeamComparator implements Comparator<Team> {
        public int compare(Team t1, Team t2) {
            //return the result of points comparison of t1 and t2
        }
    }
    

    我认为这需要
    Comparator
    而不是
    Comparable
    ;具有
    可比性
    意味着对象有一个单一的自然顺序,而
    比较器
    只是对它们进行排序的一种特殊方式,其中可能有几种。好吧,这有点令人困惑,因为我从未使用过比较器,等等,但在此之前我将阅读更多内容。谢谢大家!!我认为这需要
    Comparator
    而不是
    Comparable
    ;具有
    可比性
    意味着对象有一个单一的自然顺序,而
    比较器
    只是对它们进行排序的一种特殊方式,其中可能有几种。好吧,这有点令人困惑,因为我从未使用过比较器,等等,但在此之前我将阅读更多内容。谢谢大家!!