Angenommen, ich besitze ein Objekt mit einer Sammlung, jedes Element in dieser Sammlung enthält eine Sammlung und jede Sammlung enthält eine Sammlung.Verschachtelte Sammlungen Lambda-Iteration
Und ich möchte auf die tiefsten Objekte iterieren und den gleichen Code anwenden.
Der Imperativ Weg ist trivial, aber ist es eine Möglichkeit, Lambda-fy das alles?
Hier ist, wie der Code sieht heute:
My object o;
SecretType computedThingy = 78;
for (FirstLevelOfCollection coll : o.getList()) {
for (SecondLevelOfCollection colColl : coll.getSet()) {
for (MyCoolTinyObjects mcto : colColl.getFoo()) {
mcto.setSecretValue(computedThingy);
}
}
}
Ich kann sehen, wie eine Lambda machen aus der tiefstenen Schleife:
colColl.getFoo().stream().forEach(x -> x.setSecretValue(computedThingy)
Aber kann ich mehr tun?
gibt es 'Collectors.flatMapping' in jdk-9 auch ... – Eugene