利用java stream 根据某个属性对对象列表进行排序
时间: 2023-08-10 22:09:04 浏览: 106
可以使用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对象的名字属性进行排序。
阅读全文