按条件多字段自定义排序.stream().sorted
时间: 2023-07-21 13:04:35 浏览: 65
您可以使用Java 8中的流操作来对具有多个字段的对象进行自定义排序。sorted()方法可以用于对流中的元素进行排序。下面是一个示例代码:
```java
List<Person> people = new ArrayList<>();
// 假设Person类有name、age和score字段
people.add(new Person("John", 25, 80));
people.add(new Person("Alice", 30, 90));
people.add(new Person("Bob", 25, 85));
people.add(new Person("Alice", 25, 95));
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getName)
.thenComparing(Person::getAge)
.thenComparing(Person::getScore))
.collect(Collectors.toList());
```
在上面的例子中,我们首先对name字段进行排序,然后对age字段进行排序,最后对score字段进行排序。使用Comparator.comparing()方法可以指定要排序的字段,然后使用thenComparing()方法来指定下一个排序字段。最后,我们使用collect()方法将排序后的结果收集到一个新的List中。
请注意,这只是一个示例,您需要根据实际情况调整代码以适应您的对象和排序条件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)