Helllo,
我有一个OBJECTS(团队)的ArrayList。他们是足球队,我想通过他们的观点来解决这些问题。显然我完全清楚ArrayLists是按照它们的插入顺序排序的。
但我有一个TEAM课程,其中包含gamesWon,gamesLost,gamesTied和基于匹配结果的分数。
我已经准备好了所有的东西但是想通过它的点来整理一个ArrayList将是一个很酷的功能。
我已经在线阅读了Collections.sort(myArrayList),但这是基于ONE类型的变量进行排序,因为我在ArrayList中有对象,所以我想对此进行排序。
谢谢。
马
答案 0 :(得分: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());
答案 1 :(得分:2)
使用您要检查的值定义实现java.util.Comparator<Team>
的{{1}}。
使用接受compareTo
的排序方法。它将使用Comparator<Object>
的{{1}}方法,而不是compareTo
中定义的方法(如果有的话)。
享受!