List利用stream根据Date倒序
时间: 2024-09-27 18:06:13 浏览: 34
java8中Stream的使用以及分割list案例
在Java中,如果你有一个`List<Date>`并且你想根据日期的顺序对其进行倒序操作,你可以使用`Stream` API结合`sorted()`和`Collections.reverseOrder()`方法。首先,你需要导入相关的库:
```java
import java.util.*;
import java.time.LocalDate;
import java.util.stream.Collectors;
```
然后,可以按照以下步骤操作:
```java
List<Date> dates = ... // 你的日期列表
// 使用LocalDate类将Date转换为可以直接排序的对象
List<LocalDate> localDates = dates.stream()
.map(date -> LocalDate.from(date))
.collect(Collectors.toList());
// 使用Collections.reverseOrder()创建一个降序排列的比较器
Comparator<LocalDate> comparator = Collections.reverseOrder();
// 对本地日期列表进行排序,并保持原列表不变
dates.sort(comparator.reversed());
// 或者直接通过流操作得到反向排序后的list
List<Date> sortedDatesDesc = dates.stream()
.sorted(comparator.reversed())
.collect(Collectors.toList());
```
现在`sortedDatesDesc`就是按日期降序排列的。
阅读全文