可以使用Java 8中的Stream API和Lambda表达式来实现将一个大的List按年时间段的不同分成两个不同的小List。

假设我们有一个包含日期的List,如下所示:

List dates = Arrays.asList( LocalDate.of(2019, 1, 1), LocalDate.of(2019, 2, 1), LocalDate.of(2019, 3, 1), LocalDate.of(2020, 1, 1), LocalDate.of(2020, 2, 1), LocalDate.of(2020, 3, 1) );

现在我们想将这个List按照年份分成两个不同的List,一个包含2019年的日期,一个包含2020年的日期。我们可以使用Java 8中的Stream API和Lambda表达式来实现:

List dates2019 = dates.stream() .filter(date -> date.getYear() == 2019) .collect(Collectors.toList());

List dates2020 = dates.stream() .filter(date -> date.getYear() == 2020) .collect(Collectors.toList());

上面的代码首先使用stream()方法将List转换成一个流,然后使用filter()方法过滤出符合条件的日期,最后使用collect()方法将过滤后的结果转换成一个List。

使用上面的代码,我们可以将一个大的List按年时间段的不同分成两个不同的小List

java如何将一个大的list按年时间段的不同分成两个不同的小list

原文地址: https://www.cveoy.top/t/topic/cR5g 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录