Paarung aufeinanderfolgender Elemente aus einem Stream
Im Bereich der Programmierung ist es oft notwendig, einen Stream von Elementen in Paare aufeinanderfolgender Elemente umzuwandeln Werte. Um diese Transformation zu erreichen, muss der anfängliche Strom auf eine bestimmte Weise manipuliert werden.
Traditionelle Methoden umfassen die Verwendung einer Schleife zum Durchlaufen der Elemente und das manuelle Erstellen von Paaren. In Java 8 und höher bieten Streams jedoch einen eleganteren und effizienteren Ansatz.
Lösung
Die Java 8 Streams API bietet begrenzte Unterstützung für Stateful-Pipeline-Stufen. Dies stellt eine Herausforderung dar, wenn versucht wird, benachbarte Stream-Elemente abzurufen oder ihre Indizes zu erhalten.
Eine Lösung für diese Einschränkungen besteht darin, den Stream durch Indizes zu steuern. Durch die Verwendung einer Datenstruktur wie ArrayList, die wahlfreien Zugriff auf ihre Elemente gewährt, können die Paare generiert werden:
IntStream.range(1, arrayList.size()) .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i))) .forEach(System.out::println);
Obwohl diese Methode Parallelität bietet, weist sie die Einschränkung auf, dass sie für unendliche Eingabeströme ungeeignet ist.
Das obige ist der detaillierte Inhalt vonWie kann ich aufeinanderfolgende Elemente aus einem Stream in Java koppeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!