繁体   English   中英

按相反顺序对列表进行排序

[英]Sort List in reverse in order

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

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

用这个:

Collections.reverse(list);

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

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

我会怎么做是:

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

和快乐编码:)

你可以通过在你的回报前面加上“-”或负号来反转任何类型。

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

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

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

    }
});

如果要按自然顺序对列表进行排序,guava 的 Ordering 有一个反向方法

List<String> list = Ordering.natural().reverse().sortedCopy(asu2);

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

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

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

list.sort(Comparator.reverseOrder());

试试这个更简洁的方法:

Collections.reverseOrder(
  Comparator.comparing(
    MyEntity::getAFieldToSortBy)));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM