list.stream降序排序
时间: 2023-11-07 08:05:14 浏览: 121
您可以使用`sorted()`方法和反转顺序的`Comparator`来对List进行降序排序。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 9);
List<Integer> sortedDescending = numbers.stream()
.sorted(Comparator.reverseOrder())
.toList();
System.out.println(sortedDescending); // 输出 [9, 8, 5, 2, 1]
}
}
```
在这个例子中,我们首先将List转换为Stream,然后使用`sorted()`方法和`Comparator.reverseOrder()`来进行降序排序。最后,我们使用`toList()`方法将排序后的结果转换回List。
请注意,上述示例使用了Java 8及更高版本中的新特性`toList()`,如果您使用的是较旧的Java版本,您可以考虑使用其他收集器或进行相应的更改。
相关问题
stream 降序排序
要实现stream的降序排序,可以使用sorted(Comparator.reverseOrder())方法。这个方法会返回一个按照相反顺序排列的Stream。比如说,如果要对一个包含整数的Stream进行降序排序,可以使用以下代码:
stream.sorted(Comparator.reverseOrder())
其中,stream是要排序的Stream对象。这样,就可以得到一个按照降序排列的Stream。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Java stream().sorted()实现排序(升序、降序、多字段排序)](https://blog.csdn.net/weixin_48212105/article/details/126175816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
TreeMap<String, List<TzglInvestmentPlanProjectModel>> investmentPlanProjectMap = list.stream() .collect(Collectors.groupingBy(TzglInvestmentPlanProjectModel::getPlanYear, TreeMap::new, Collectors.toList()));改成降序排序
可以将 TreeMap 构造函数中的 Comparator 参数改为一个降序比较器,如下所示:
```
Comparator<String> descendingOrder = Comparator.reverseOrder();
TreeMap<String, List<TzglInvestmentPlanProjectModel>> investmentPlanProjectMap =
list.stream()
.collect(Collectors.groupingBy(
TzglInvestmentPlanProjectModel::getPlanYear,
() -> new TreeMap<>(descendingOrder),
Collectors.toList()
));
```
这里使用了 `Comparator.reverseOrder()` 方法获取一个默认降序比较器。构造函数中的第二个参数是一个 Supplier 对象,用于创建 TreeMap 对象,这里使用了一个 lambda 表达式来返回一个 TreeMap 对象,并且指定了比较器为降序比较器。
阅读全文