


Wie kann ich einen Java 8-Stream effizient durchlaufen und auf Indizes zugreifen?
Effiziente Stream-Iteration mit Indizes in Java 8
Einführung
Der Zugriff auf Indizes während der Iteration über Streams in Java 8 kann sein eine mühsame Aufgabe, insbesondere im Vergleich zu seinem LINQ-Gegenstück. In diesem Artikel werden prägnante und effiziente Möglichkeiten zur Erreichung dieser Funktionalität untersucht.
Die Zwischenlösung
Ein Ansatz besteht darin, einen Strom von Indizes mit dem Strom von Elementen zu kombinieren, indem wir die verwenden zip-Methode. Allerdings wurde diese Methode entweder verschoben oder entfernt, wodurch dieser Ansatz weniger zugänglich ist.
Der sauberste Weg: Aus Indizes
Eine schlankere Lösung besteht darin, mit a zu beginnen Strom von Indizes. Dies kann mit IntStream.range() erreicht werden und bietet einen praktischen Ausgangspunkt für Filter- und Zuordnungsvorgänge:
String[] names = {"Sam", "Pamela", "Dave", "Pascal", "Erik"}; IntStream.range(0, names.length) .filter(i -> names[i].length() names[i]) .collect(Collectors.toList());
Verwendung eines veränderlichen Index
Eine weitere Alternative ist um einen Ad-hoc-Zähler mithilfe eines veränderlichen Objekts wie einer AtomicInteger zu verwalten. Dieser Ansatz ähnelt herkömmlichen For-Schleifen:
String[] names = {"Sam", "Pamela", "Dave", "Pascal", "Erik"}; AtomicInteger index = new AtomicInteger(); List<string> list = Arrays.stream(names) .filter(n -> n.length() <p><strong>Vorsicht bei parallelen Streams</strong></p> <p>Es ist wichtig zu beachten, dass die Verwendung dieser letzteren Methode bei parallelen Streams zu Problemen wie Elementen führen kann kann möglicherweise nicht in der richtigen Reihenfolge bearbeitet werden.</p></string>
Das obige ist der detaillierte Inhalt vonWie kann ich einen Java 8-Stream effizient durchlaufen und auf Indizes zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool