stream 对 object 排序
时间: 2023-08-19 16:14:29 浏览: 49
回答: 要对对象集合进行排序,可以使用Java 8中的Stream API。根据提供的引用内容,有两种常见的排序方式。第一种是按照类的某个属性进行升序排序,可以使用以下代码:
List<Object> sortedList = list.stream().sorted(Comparator.comparing(类::属性)).collect(Collectors.toList()); \[1\]
第二种是按照类的多个属性进行排序,可以使用以下代码:
List<Object> sortedList = list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二)).collect(Collectors.toList()); \[2\]
需要注意的是,Stream API总是返回一个新的集合,所以在排序后需要使用collect方法将结果收集到一个新的List中。另外,如果查询出来的数据是无序的,可以使用Stream API对其进行排序,如下所示:
List<Map<String, Object>> sortedList = approveRecordList.stream().sorted((o1, o2) -> {
if (o1.get("Createtime").toString().compareTo(o2.get("Createtime").toString()) > 0) {
return -1;
} else {
return 1;
}
}).collect(Collectors.toList()); \[3\]
这样可以对对象集合进行排序并返回一个新的有序集合。
#### 引用[.reference_title]
- *1* *2* [Java8 stream流多字段排序](https://blog.csdn.net/qq_44940503/article/details/120281211)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [java 8 stream 自定义字段排序 List<Map> List<Object>根据某个字段排序或者多个字段排序。](https://blog.csdn.net/zhang19age_/article/details/124974347)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]