charles
public static void main(String[] args) {
final List<Integer> integers = List.of(1, 2, 3, 4);
final long count = integers
.stream()
.peek(i -> System.out.println("i = " + i))
.count();
System.out.println("count = " + count);
}
charles
count = 4
I had expected it to print:
i = 1
i = 2
i = 3
i = 4
count = 4
charles
charles
charles
public static void main(String[] args) {
final List<Integer> integers = List.of(1, 2, 3, 4);
final long count = integers
.stream()
.peek(i -> System.out.println("before filter i = " + i))
.filter(i -> i < 5)
.peek(i -> System.out.println("after filter i = " + i))
.count();
System.out.println("count = " + count);
}
outputs:
before filter i = 1
after filter i = 1
before filter i = 2
after filter i = 2
before filter i = 3
after filter i = 3
before filter i = 4
after filter i = 4
count = 4
Michel
streams
are not a good abstraction in javaRoshan George
12/16/2020, 8:55 PM.reduce((a,b) -> a + 1)
to count.