java list stream sort 元素降序
时间: 2025-01-10 12:35:50 浏览: 52
### 使用Stream API对Java List进行降序排序
对于希望利用`Stream` API来实现列表按特定属性降序排列的需求,可以采用如下方式。通过调用`stream()`方法获取流对象之后,应用`sorted()`函数并传入自定义比较器以指定倒序逻辑[^1]。
下面是一个具体的例子,展示如何基于年龄这一字段对人员列表执行降序排序:
```java
import java.util.*;
import java.util.stream.Collectors;
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() { return age; }
@Override
public String toString(){
return "Person{name='" + name + "', age=" + age + "}";
}
}
public class Main {
public static void main(String[] args){
List<Person> people = Arrays.asList(
new Person("Alice", 30),
new Person("Bob", 24),
new Person("Charlie", 44)
);
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge).reversed())
.collect(Collectors.toList());
System.out.println(sortedPeople);
}
}
```
此代码片段创建了一个包含多个`Person`实例的列表,并按照每个人的年龄从高到低进行了重新排序。这里的关键在于`.sorted(Comparator.comparing(Person::getAge).reversed())`部分,它指定了我们想要依据哪个属性来进行排序以及方向——即逆向(降序)。最后收集结果形成新的已排序列表。
阅读全文
相关推荐


















