list stream 根据 某个字段倒序排
时间: 2024-12-24 12:33:57 浏览: 3
在Java中,`List` 和 `Stream` 结合可以方便地处理集合数据并实现按特定字段倒序排序的功能。假设你有一个包含自定义对象(比如User类)的List,并且User类有一个名为age的字段,你可以这样做:
```java
import java.util.List;
import java.util.stream.Collectors;
class User {
private String name;
private int age;
// getters and setters...
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public List<User> sortedUsersByAgeDesc(List<User> users) {
return users.stream()
.sorted(Comparator.comparing(User::getAge).reversed())
.collect(Collectors.toList());
}
```
在这个例子中,`stream()`将List转换为流(Stream),`sorted()`方法接受一个Comparator用于指定排序规则,`reversed()`则让排序结果从大到小,最后通过`collect()`方法收集回一个新的List。
阅读全文