如何用比较器对数组进行排序?

时间:2014-11-15 18:31:56

标签: java

我有一个看起来像这样的数组

ArrayList<footballClub> newClub = new ArrayList<footballClub>();

足球俱乐部是我的一个java课程。我不确定如何在我的一个开关盒中对它进行排序。我的数组包含字符串和整数,我需要按降序排列内容。比如足球俱乐部的积分。我不想发布我的整个代码,因为我没有编译任何错误,也不希望其他人因为原因而看到它。

Collections.sort(ArrayList, new newClub);

这不对,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

在Java约定中,类名为LikeThis。因此,对于本答案的其余部分,我将您的班级称为FootballClub

首先,你必须编写一个比较器类。以下代码段假定您将该课程放在另一个课程中。如果它将成为顶级课程,请从第一行删除static

static class DescendingByPointsComparator implements Comparator<FootballClub> {
    @Override
    public int compare(FootballClub lhs, FootballClub rhs) {
        return Integer.compare(rhs.getPoints(), lhs.getPoints());
    }
}

在这里,我假设您的FootballClub类有一个getPoints()方法,该方法返回int,并且您使用的是Java 7或更新版本。

现在,使用它:

Collections.sort(newClub, new DescendingByPointsComparator());

答案 1 :(得分:0)

您可以轻松地执行以下操作:

Collections.sort(newClub , Collections.reverseOrder());