Java stream().sorted()
时间: 2023-08-17 08:16:22 浏览: 78
Java的stream().sorted()方法用于对流中的元素进行排序。可以使用自然排序或者使用Comparator提供的排序方式。\[2\]可以使用lambda表达式来实现排序,例如sorted((x, y) -> y.getAge().compareTo(x.getAge()))或者sorted((x, y) -> y.getAge() - x.getAge())。这实际上是在实现java.util.Comparator接口中的compare方法,只是通过简化和lambda表达式来实现的。还可以进一步简化为方法引用的形式。\[1\]
如果要按照特定字段进行排序,可以使用Comparator.comparing方法来指定字段,例如sorted(Comparator.comparing(x -> x.getOthers().get("aaa").toString()))。如果要按照降序排序,可以使用reversed()方法,例如sorted(Comparator.comparing(x -> x.getOthers().get("aaa").toString()).reversed())。\[1\]
另外,还可以实现多字段排序,可以使用Comparator.comparing方法多次调用,例如sorted(Comparator.comparing(Student::getAge).thenComparing(Student::getName))。这样可以先按照年龄排序,如果年龄相同,则按照姓名排序。\[3\]
#### 引用[.reference_title]
- *1* [java stream使用指南-------sorted使用及进阶](https://blog.csdn.net/ql_7256/article/details/124462976)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Java stream().sorted() 排序应用](https://blog.csdn.net/jiahao1186/article/details/123066507)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文