0

你好,

我有一个对象(团队)的 ArrayList。他们是足球队,我想通过他们的观点对他们进行分类。显然我完全知道 ArrayLists 是按照它们插入的顺序排序的。

但是我有一个 TEAM 类,其中包含 gamesWon、gamesLost、gamesTied 和基于比赛结果的积分。

我已经准备好了一切,但我认为通过它的点来整理一个 ArrayList 将是一个很酷的功能。

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

谢谢你。

马可

4

2 回答 2

3

您应该Comparator为此定义一个。

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

并按如下方式使用

Collections.sort(teams, new PointsBasedTeamComparator());
于 2012-11-19T00:46:44.207 回答
2
  1. 定义一个用您要检查的值java.util.Comparator<Team>实现的。compareTo

  2. 使用接受Comparator<Object>. 它将使用compareTo您的方法Comparator,而不是Team(如果有的话)中定义的方法。

  3. 享受!

于 2012-11-19T00:44:47.047 回答