Stream流怎么按照list<Object>中的某一属性排序
时间: 2024-03-11 11:50:30 浏览: 29
您可以使用Java 8的Stream API来对list中的对象按照某一属性进行排序。例如,如果您有一个`List<Person>`,每个人对象都有一个名字和年龄属性,您可以按照年龄来对人员进行排序,方法如下:
```java
List<Person> people = ... // 创建一个人员列表
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparingInt(Person::getAge))
.collect(Collectors.toList());
```
在这个示例中,我们使用`sorted`方法和一个`Comparator`来比较人员的年龄属性。`Comparator`使用`comparingInt`方法和一个方法引用`Person::getAge`来指定要比较的属性。最后,我们使用`collect`方法将排序后的人员收集到一个新的列表中。
您也可以按照其他属性进行排序,只需要将`comparingInt`方法替换为`comparing`方法,并提供一个返回该属性的`Function`即可。例如,如果您要按照人员的名字进行排序,代码如下:
```java
List<Person> people = ... // 创建一个人员列表
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getName))
.collect(Collectors.toList());
```
这里我们使用`comparing`方法和一个方法引用`Person::getName`来指定要比较的属性。
相关推荐
![](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)