List<TrxnPageResp> list,TrxnPageResp有三个属性 String id, int age, Date createTime; 请使用stream流查询出createTime最新,age最大的一条数据
时间: 2024-09-19 11:11:57 浏览: 34
你可以使用Java Stream API结合Comparator来找到`List<TrxnPageResp>`中最新的`createTime`和最大`age`的数据。首先,我们需要创建一个自定义的Comparator,然后使用`max()`和`findFirst()`方法。以下是步骤:
```java
import java.util.Comparator;
import java.time.LocalDate;
// 假设LocalDate和String可以正确比较,这里仅作演示
Comparator<TrxnPageResp> byAgeAndCreateTime = Comparator.comparing(TrxnPageResp::getAge)
.reversed() // 按年龄降序
.thenComparing(TrxnPageResp::getCreateTime, LocalDate::compareTo); // 其次按时间倒序
// 使用Stream查询
Optional<TrxnPageResp> maxAgeAndNewest = list.stream()
.max(byAgeAndCreateTime);
// 获取结果
if (maxAgeAndNewest.isPresent()) {
TrxnPageResp result = maxAgeAndNewest.get();
System.out.println("ID: " + result.getId());
System.out.println("Age: " + result.getAge());
System.out.println("Create Time: " + result.getCreateTime());
} else {
System.out.println("No data found.");
}
阅读全文