Heim > Java > javaLernprogramm > Wie kann ich aufeinanderfolgende Elemente aus einem Java-Stream koppeln?

Wie kann ich aufeinanderfolgende Elemente aus einem Java-Stream koppeln?

DDD
Freigeben: 2024-11-28 20:26:12
Original
220 Leute haben es durchsucht

How Can I Pair Consecutive Elements from a Java Stream?

Stream-Elemente koppeln

Wie können Sie bei einem Stream von Elementen wie {0, 1, 2, 3, 4} konvertieren? es in Paare aufeinanderfolgender Elemente (Paar Objekte)?

Antwort:

Die Java 8-Stream-Bibliothek ist auf die Aufteilung von Streams in kleinere Teile für die parallele Verarbeitung spezialisiert, wodurch ihre Stateful-Pipeline-Stufen eingeschränkt werden. Daher ist es nicht möglich, direkt auf benachbarte Stream-Elemente zuzugreifen oder deren Indizes abzurufen.

Um diese Einschränkung zu überwinden, sollten Sie erwägen, die Stream-Elemente zu indizieren und über eine Datenstruktur mit wahlfreiem Zugriff wie eine ArrayList auf sie zuzugreifen. Zum Beispiel bei einer ArrayList mit Werten:

IntStream.range(1, arrayList.size())
             .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i)))
             .forEach(System.out::println);
Nach dem Login kopieren

Diese Pipeline erstellt Paare aufeinanderfolgender Elemente und läuft parallel. Beachten Sie, dass diese Lösung davon ausgeht, dass der Eingabestrom endlich und nicht unendlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich aufeinanderfolgende Elemente aus einem Java-Stream koppeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage