49

我有直接顺序的 List list1 。List<String> list = Ordering.natural().sortedCopy(asu2);

如何更改顺序。而且我不知道如何重写extends类的方法,请用例子写或说清楚。

4

8 回答 8

115

用这个:

Collections.reverse(list);
于 2013-08-06T07:01:44.767 回答
50

reverseOrder类中有一个方法Collections返回一个Comparator.

你可以像这样使用它Collections.sort(list, Collections.reverseOrder());

于 2013-08-06T07:01:37.973 回答
27

我会怎么做是:

personsList.sort(Comparator.comparing(Person::getAge, Comparator.reverseOrder()));

和快乐的编码:)

于 2019-05-30T11:27:05.073 回答
17

您可以通过在您的退货前加上“-”或负号来反转任何类型。

Collections.sort(listed, new Comparator<Object>() {

    @Override
    public int compare(Object o1, Object o2) {

        return -o1.getLeft().compareTo(o2.getLeft());

    }
});
于 2016-06-01T02:08:31.220 回答
8

如果你想以反向自然顺序对列表进行排序,guava 的 Ordering 有一个 reverse 方法

List<String> list = Ordering.natural().reverse().sortedCopy(asu2);
于 2013-08-06T15:47:14.423 回答
3

要反转列表中项目的顺序,您可以使用Collections.reverse(List<?> list)

于 2013-08-06T07:02:00.907 回答
1

Collections.reverse(List)反转给定的列表。您还可以使用 GuavaLists.reverse(List)创建由给定列表支持的视图,该视图以相反的顺序排列,而无需复制或修改原始列表。

如果您只想创建一个按自然顺序倒序排列的列表,请参阅@assylias 关于Ordering.natural().reverse().

于 2013-08-06T18:37:45.390 回答
0

list.sort(Comparator.reverseOrder());

于 2020-10-26T18:11:17.083 回答