java8 list按照创建时间属性倒叙排序
时间: 2025-01-06 14:53:49 浏览: 8
在Java 8中,如果你有一个List,其中包含实现了Comparable接口的对象并且每个对象都有一个表示创建时间的属性,你可以通过Comparator接口或者lambda表达式来进行按创建时间属性的倒序排序。以下是两种常见的方法:
1. 使用Comparator:
```java
import java.util.Comparator;
import java.util.List;
public List<YourObject> sortedByCreateTime(List<YourObject> list) {
return list.stream()
.sorted(Comparator.comparing(YourObject::getCreationTime).reversed())
.collect(Collectors.toList());
}
```
在这个例子中,`YourObject::getCreationTime`是一个方法引用,它获取`YourObject`实例的创建时间属性。
2. 使用Lambda表达式(如果列表元素类型支持自动装箱并提供默认排序规则):
```java
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public List<YourObject> sortedByCreateTime(List<YourObject> list) {
return list.stream()
.sorted((o1, o2) -> -o1.getCreationTime().compareTo(o2.getCreationTime()))
.collect(Collectors.toList());
}
```
这里我们使用了一个比较器函数 `(o1, o2) -> -o1.getCreationTime().compareTo(o2.getCreationTime())`,负号使得比较结果为降序。
阅读全文