Ich versuche Java - Stream zu lernen. Ich bin in der Lage, einfache Iteration / Filter / Map / Sammlung usw. zu machen.
Als ich irgendwie versuchte, alle drei Elemente zu sammeln und zu drucken, wie hier in diesem Beispiel gezeigt, [sammle alle drei Elemente und drucke und so weiter ...]
%Vor%Ausgabe:
%Vor%Ich habe keine Ahnung, wie man das mit Stream macht. Soll ich meinen eigenen Sammler dazu einsetzen?
Sie können Ihre eigene Collector
erstellen. Der einfachste Weg ist, Collector.of()
.
Da Ihr Anwendungsfall erfordert, dass Werte in der richtigen Reihenfolge verarbeitet werden, ist hier eine Implementierung, die die parallele Verarbeitung einfach nicht unterstützt.
%Vor%Testen
%Vor%Ausgabe
%Vor% Wenn Sie Guava in Ihrem Projekt haben, können Sie Iterables.partition
method:
Ich habe es so gelöst:
%Vor%Es bereitet eine Karte vor, in der die Zeilennummer der Schlüssel ist und die Zeichenfolgen in der Zeile im Schlüssel sind.
Ich denke, der Ansatz der Wetten basiert auf einer erstaunlichen Bibliothek StreamEx von Tagir Valeev . Die Lösung passt in eine Zeile))
%Vor%Tags und Links java java-8 java-stream