Skip to content

Commit fe70cfb

Browse files
wynnteoWynn Teo
andauthored
BAEL-9417 Improvement (#18739)
Co-authored-by: Wynn Teo <[email protected]>
1 parent 6652236 commit fe70cfb

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
11
package com.baeldung.streams.gatherer;
22

3-
import java.util.ArrayList;
4-
import java.util.List;
3+
import java.util.*;
54
import java.util.function.BiConsumer;
65
import java.util.function.Supplier;
76
import java.util.stream.Gatherer;
87

9-
public class SlidingWindowGatherer implements Gatherer<Integer, ArrayList<Integer>, List<Integer>> {
8+
public class SlidingWindowGatherer implements Gatherer<Integer, Deque<Integer>, List<Integer>> {
109

1110
@Override
12-
public Supplier<ArrayList<Integer>> initializer() {
13-
return ArrayList::new;
11+
public Supplier<Deque<Integer>> initializer() {
12+
return ArrayDeque::new;
1413
}
1514

1615
@Override
17-
public Integrator<ArrayList<Integer>, Integer, List<Integer>> integrator() {
16+
public Integrator<Deque<Integer>, Integer, List<Integer>> integrator() {
1817
return new Integrator<>() {
1918
@Override
20-
public boolean integrate(ArrayList<Integer> state, Integer element, Downstream<? super List<Integer>> downstream) {
21-
state.add(element);
19+
public boolean integrate(Deque<Integer> state, Integer element, Downstream<? super List<Integer>> downstream) {
20+
state.addLast(element);
2221
if (state.size() == 3) {
2322
downstream.push(new ArrayList<>(state));
2423
state.removeFirst();
@@ -29,12 +28,7 @@ public boolean integrate(ArrayList<Integer> state, Integer element, Downstream<?
2928
}
3029

3130
@Override
32-
public BiConsumer<ArrayList<Integer>, Downstream<? super List<Integer>>> finisher() {
33-
return (state, downstream) -> {
34-
if (state.size()==3) {
35-
downstream.push(new ArrayList<>(state));
36-
}
37-
};
38-
31+
public BiConsumer<Deque<Integer>, Downstream<? super List<Integer>>> finisher() {
32+
return (state, downstream) -> {};
3933
}
4034
}

0 commit comments

Comments
 (0)