Helllo,
我有一个对象(团队)的数组列表。他们是足球队,我想通过他们的积分来整理他们。显然,我完全知道 ArrayList 是通过插入顺序排序的。
但是我有一个团队类,里面有游戏赢了、游戏输了、游戏平局和基于比赛结果的积分。
我已经准备好了一切,但认为通过它的点整理 ArrayList 将是一个很酷的功能。
我已经在线阅读了Collections.sort(myArrayList),但这是基于一种类型的变量进行排序的,并且由于我在ArrayList中有对象,我想对此进行排序。
谢谢。
马可
为此定义一个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());
-
定义一个
java.util.Comparator<Team>
,该使用要检查的值实现compareTo
。 -
使用接受
Comparator<Object>
的排序方法。它将使用您Comparator
的compareTo
方法,而不是Team
中定义的方法(如果有的话)。 -
享受!