【问题标题】:How do i sort keys in reverse order in java List<Integer> [closed]我如何在java List<Integer>中以相反的顺序对键进行排序[关闭]
【发布时间】:2022-01-24 06:16:34
【问题描述】:

执行此代码时,我按升序获取键

List<Integer> sortedKey = groupedData.keySet().stream().sorted().collect(Collectors.toList());

如何按降序排列?

【问题讨论】:

  • 什么是groupedData?
  • Comparator.reverseOrder 可能是您需要的。请参阅下面的答案。

标签: java arraylist


【解决方案1】:

您可以使用Comparator.reverseOrder() 作为.sorted() 方法的参数来指定在对流进行排序时使用的比较。

顾名思义,Comparator.reverseOrder() 是一个Comparator,它以降序返回Integer。

List<Integer> sortedKey = groupedData.keySet().stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());

【讨论】:

    【解决方案2】:

    Comparator.reverseOrder

    以下可能有效,尽管我没有测试过。将 Comparator 传递给 Stream#sorted 方法。调用Comparator.reverseOrder 返回的比较器强制执行与自然顺序相反的操作。

    List<Integer> sortedKey = 
        groupedData
        .keySet()
        .stream()
        .sorted( Comparator.reverseOrder() )
        .toList()  
    ;
    

    在 Java 16 之前,最后一次调用 .collect( Collectors.toList()。 )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多