java中stream流对list排序根据某字段指定排序
时间: 2025-06-15 08:23:08 浏览: 26
在Java中,Stream API提供了一种方便的方式来对List进行排序,特别是当需要根据某个字段进行排序时。你可以使用`sorted()`函数结合Lambda表达式来实现这个功能。以下是一个简单的例子:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Person> people = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 20)
);
// 指定按照年龄升序排序
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge))
.collect(Collectors.toList());
// 打印排序后的列表
sortedPeople.forEach(System.out::println);
}
}
class Person {
private String name;
private int age;
// 构造函数、getter和setter省略
public int getAge() {
return age;
}
}
```
在这个示例中,我们创建了一个`Person`类,并有一个`age`字段。通过`.sorted(Comparator.comparing(Person::getAge))`,我们告诉Stream按照`Person`的`age`属性进行升序排序。最后,`collect(Collectors.toList())`将排序后的流转换回一个新的List。
阅读全文
相关推荐


















