Java 往一个list对象传入一个日期返回小于等于这个日期的一条数据
可以使用Java 8的Stream API来过滤list对象中小于等于指定日期的数据,然后返回符合条件的第一条数据。
假设list对象的类型是List
import java.time.LocalDate;
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
// 假设list是一个包含MyObject对象的列表
List<MyObject> list = ...;
// 指定日期
LocalDate targetDate = LocalDate.of(2021, 6, 1);
// 使用Stream API过滤并返回符合条件的第一条数据
Optional<MyObject> result = list.stream()
.filter(obj -> obj.getDate().isBefore(targetDate) || obj.getDate().isEqual(targetDate))
.findFirst();
// 如果存在符合条件的数据,则输出
result.ifPresent(System.out::println);
}
}
在上述代码中,使用list.stream()将list对象转换为一个Stream对象,然后使用filter方法过滤出日期小于等于指定日期的数据,最后使用findFirst方法获取符合条件的第一条数据。
注意在filter方法中使用了isBefore和isEqual方法来进行日期的比较,其中isBefore用于判断日期是否早于指定日期,isEqual用于判断日期是否等于指定日期。
最后,使用ifPresent方法判断是否存在符合条件的数据,如果存在则输出
原文地址: https://www.cveoy.top/t/topic/iVtR 著作权归作者所有。请勿转载和采集!