可以通过以下步骤实现:
Stream.of()
方法将数组转换为Stream,或者使用集合的stream()
方法获取Stream。filter()
方法,传入一个Predicate函数来筛选日期。在Predicate函数中,可以使用Java 8的日期时间类LocalDate
的getDayOfMonth()
方法获取日期的天数,并判断是否为偶数。collect()
方法,将筛选后的日期收集到一个新的集合中。可以使用Collectors.toList()
方法将结果收集到一个List中。下面是一个示例代码:
import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class DateFilterExample {
public static void main(String[] args) {
// 1. 获取一组日期数据
LocalDate[] dates = {
LocalDate.of(2022, 1, 1),
LocalDate.of(2022, 1, 2),
LocalDate.of(2022, 1, 3),
LocalDate.of(2022, 1, 4),
LocalDate.of(2022, 1, 5),
LocalDate.of(2022, 1, 6),
LocalDate.of(2022, 1, 7)
};
// 2. 将日期数据转换为Stream对象
List<LocalDate> dateList = Arrays.stream(dates)
// 3. 筛选偶数日期
.filter(date -> date.getDayOfMonth() % 2 == 0)
// 4. 收集筛选结果到List
.collect(Collectors.toList());
// 输出筛选结果
dateList.forEach(System.out::println);
}
}
以上代码将输出筛选后的偶数日期:
2022-01-02
2022-01-04
2022-01-06
在这个例子中,我们使用了Java 8的Stream API来筛选偶数日期。通过使用Stream的filter()
方法和collect()
方法,我们可以方便地对日期数据进行筛选和收集操作。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云