public void sortLeagueTable(List<LeagueTableItem> table) {
Collections.sort(table, new Comparator<LeagueTableItem>(){
public int compare(LeagueTableItem o1, LeagueTableItem o2){
return o2.getPoints() - o1.getPoints();
}
});
}
此代码根据称为点的对象的值对两个列表进行排序。在基于值
point
对其进行排序之后,我想再次基于值goalScored
对其进行排序。因此,如果两个团队的分数相等,我想根据goalScored
值再次对其进行排序。我怎样才能做到这一点?
最佳答案
只需向您的比较器添加另一个条件:
public int compare(LeagueTableItem o1, LeagueTableItem o2){
int diff = o2.getPoints() - o1.getPoints();
if (diff == 0) {
diff = o2.goalScored() - o1.goalScored();
}
return diff;
}