indicesArrays.stream().flatMap(n -> n.indices).sorted().filter(x->
//filter x if its diffrence with its predecessor is less then 5;
)
Gibt es eine "natürliche" Möglichkeit, diese Art von abhängiger Filterung in einem Stream durchzuführen? Wie würdest du es richtig machen?Statusabhängig Filterung eines Streams
Das ist, wie ich würde versuchen:
indicesArrays.stream().flatMap(n -> n.indices).sorted().filter(new Predicate<Integer>() {
Integer lastX = null;
@Override
public boolean test(Integer t) {
if (lastX == null) {
lastX = t;
return true;
}
final boolean include = t - lastX >= 5;
lastX = t;
return include;
}
});
aber im, wenn das ist ein guter Ansatz nicht sicher, weder bin ich sicher, dass es immer ... Diese, in Ihrem speziellen Fall und für die funktionieren würde