In Java 8 wurde eine neue Schnittstelle Spliterator („Split-Iterator“-Splitter) hinzugefügt, mit der Splitter-Operationen an Datenströmen durchgeführt werden können. Diese Schnittstelle kann eine Folge von Elementen in kleine Teile aufteilen, die separat verarbeitet und für eine bessere Leistung parallel verarbeitet werden können.
In diesem Artikel erfahren Sie, wie Sie die Spliterator-Schnittstelle für Splitter-Operationen verwenden.
Spliterator ist eine neue Schnittstelle in Java 8, die zur Unterstützung der Daten-Streaming-Verarbeitung verwendet wird. Dies ist die Abkürzung für „Split-Iterator“, was bedeutet, dass der Datenstrom in mehrere kleine Teile aufgeteilt werden kann und diese kleinen Teile unabhängig voneinander verarbeitet werden können. Über diese Schnittstelle können Datensammlungen wie Sammlungen, Arrays, E/A-Puffer und Java-Streams verarbeitet werden.
Es gibt einige gängige Methoden in der Spliterator-Schnittstelle:
① tryAdvance()-Methode:
Diese Methode wird verwendet, um jedes Element im Datenstrom zu verarbeiten. Wenn keine weiteren Elemente zu verarbeiten sind, gibt sie false zurück, andernfalls gibt sie true zurück .
② trySplit()-Methode:
Diese Methode teilt den Datenstrom in zwei Teilsammlungen auf, die parallel verarbeitet werden können. Wenn der Datenstrom zu klein ist, um geteilt zu werden, wird null zurückgegeben.
③ Methode „estimateSize()“:
Diese Methode gibt eine Schätzung der Anzahl der Elemente im Datenstrom zurück.
④characteristics()-Methode:
Diese Methode gibt die Eigenschaften der Elemente im Datenstrom zurück.
Wir können Splitter-Operationen für den Datenstrom ausführen, indem wir die Methode der Spliterator-Schnittstelle aufrufen. Hier ist ein Beispielcode mit Spliterator:
import java.util.ArrayList; import java.util.List; import java.util.Spliterator; public class SplitIteratorExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("John"); names.add("Mike"); names.add("Tom"); names.add("Jerry"); names.add("Peter"); Spliterator<String> s1 = names.spliterator(); System.out.println("Estimate size: " + s1.estimateSize()); System.out.println("Characteristics: " + s1.characteristics()); s1.forEachRemaining(name -> System.out.println(name)); Spliterator<String> s2 = s1.trySplit(); System.out.println("Spliterator s1"); s1.forEachRemaining(name -> System.out.println(name)); System.out.println("Spliterator s2"); s2.forEachRemaining(name -> System.out.println(name)); } }
Dieser Beispielcode erstellt eine Liste von Zeichenfolgen und speichert sie in einem Listenobjekt namens „names“. Wir haben die Spitrator-Methode von List aufgerufen und eine Spliterator-Instanz s1 erhalten. Dann können wir die Methode in diesem Spliterator verwenden, um Splitter-Operationen für den Datenstrom zu implementieren.
Zuerst rufen wir die Methode „estimateSize()“ auf, die die geschätzte Anzahl der Elemente im Datenstrom zurückgibt. Wir haben die Methode „characteristics()“ aufgerufen, um die Eigenschaften der Elemente im Datenstrom zurückzugeben.
Dann verwenden wir die Methode forEachRemaining(), um alle Elemente im gesamten Stream zu durchlaufen. Der Parameter dieser Methode ist ein Lambda-Ausdruck zur Verarbeitung jedes Elements.
Als nächstes haben wir die Methode trySplit() aufgerufen, um den Datenstrom in zwei Teilmengen s1 und s2 aufzuteilen. Wir verwenden die Methode forEachRemaining(), um die Elemente in der Aufteilung s1 bzw. s2 zu drucken.
Die Spliterator-Schnittstelle von Java 8 kann verwendet werden, um Splitter-Operationen an Datenströmen durchzuführen. Es kann den Datenstrom in kleine Teile aufteilen und diese Teile parallel verarbeiten, um die Effizienz zu verbessern. Durch die Implementierung von Methoden der Spliterator-Schnittstelle können wir Datensammlungen wie Sammlungen, Arrays, E/A-Puffer und Java-Streams bearbeiten. Diese Schnittstelle bietet uns eine bequemere und effizientere Möglichkeit, Datenströme zu verarbeiten.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Spliterator-Funktion für den Splitter-Betrieb in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!