使用对象中某个字段 stream排序 倒序
时间: 2024-02-11 11:05:31 浏览: 63
假设您有一个包含多个对象的列表,每个对象都包含一个字段,您想按照该字段进行排序并进行倒序排列,可以使用以下代码:
```
List<Person> people = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 20),
new Person("David", 35)
);
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge).reversed())
.collect(Collectors.toList());
```
在上述代码中,我们首先将Person对象列表转换为流,然后使用sorted()方法进行排序。通过Comparator.comparing()方法指定要按照哪个字段进行排序,然后使用reversed()方法将排序顺序反转为倒序。最后,我们使用collect()方法将排序后的流转换回List类型。
假设Person类具有以下定义:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
阅读全文