Main

import java.util.stream.IntStream;

public class Main {
public static void main(String[] args) {

var leapYearData = IntStream
.iterate(1900, i -> i <= 2000, i -> i = i + 1)
.filter(i -> LeapYearFilter.isLeapYear(i))
.peek(System.out::println)
.summaryStatistics();
System.out.println("Leap Year Data = " + leapYearData);
}
}

LeapYearFilter

public class LeapYearFilter {

public static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}
C:\Users\netadmin\.jdks\openjdk-23.0.2\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.2.4\lib\idea_rt.jar=59539" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\netadmin\IdeaProjects\Java_Coding_130\LeapYearStream\out\production\LeapYearStream Main
1904
1908
1912
1916
1920
1924
1928
1932
1936
1940
1944
1948
1952
1956
1960
1964
1968
1972
1976
1980
1984
1988
1992
1996
2000
Leap Year Data = IntSummaryStatistics{count=25, sum=48800, min=1904, average=1952.000000, max=2000}

Process finished with exit code 0