利用java stream 根据某个属性对对象列表进行排序
时间: 2023-08-10 13:09:04 浏览: 62
可以使用Java 8的Stream API来对对象列表进行排序。假设我们有一个包含Person对象的列表,每个Person对象都有一个名字和一个年龄属性。以下是按照年龄对Person列表进行排序的示例代码:
```
List<Person> personList = // 假设这里有一个Person对象列表
List<Person> sortedList = personList.stream()
.sorted(Comparator.comparingInt(Person::getAge))
.collect(Collectors.toList());
```
上述代码中,我们使用Java 8的Stream API对personList进行流操作,使用sorted方法根据Person对象的年龄属性进行排序,然后使用collect方法将排序后的结果转换为List类型。其中,Comparator.comparingInt方法可以根据Person::getAge方法获取到Person对象的年龄属性进行比较。如果要按照名字进行排序,可以使用Comparator.comparing方法,如下所示:
```
List<Person> sortedListByName = personList.stream()
.sorted(Comparator.comparing(Person::getName))
.collect(Collectors.toList());
```
上述代码中,我们使用Comparator.comparing方法根据Person对象的名字属性进行排序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)