Die Stream-Funktion in Java ist eine neue Funktion, die in Java 8 eingeführt wurde. Sie bietet eine völlig neue Möglichkeit, Datensätze wie Sammlungen und Arrays zu verarbeiten. Stream bietet eine funktionale Programmiermethode zum Ausführen von Stream-Operationen und vereinfacht außerdem das Schreiben von Code erheblich. In diesem Artikel erfahren Sie, wie Sie Streaming-Vorgänge mithilfe der Stream-Funktion in Java durchführen.
1. Was ist die Stream-Funktion?
Die Stream-Funktion ist eine neue Funktion, die in Java 8 eingeführt wurde. Es bietet uns eine funktionale Programmiermöglichkeit zur Durchführung von Stream-Operationen, um unseren Code zu vereinfachen. Mit der Stream-Funktion können Elemente in Datenstrukturen wie Sammlungen und Arrays bearbeitet werden, um die von uns benötigten Funktionen zu erreichen.
Die Stream-Funktion verfügt über zwei Betriebsmodi, nämlich Zwischenbetrieb und Abschlussbetrieb. Zwischenvorgänge können mehrmals ausgeführt werden, während Beendigungsvorgänge die Verarbeitung des Streams stoppen und ein Ergebnis oder einen Nebeneffekt zurückgeben. Gleichzeitig verfügt Stream auch über die Fähigkeit zur Parallelverarbeitung.
2. Verwenden Sie die Stream-Funktion für Stream-Operationen
Wir können das Stream-Objekt über die stream()-Methode der Sammlung oder die Stream.of()-Methode des Arrays abrufen. Zum Beispiel:
List<Integer> list = Arrays.asList(1, 2, 3); Stream<Integer> stream1 = list.stream(); // 通过list对象获取stream对象 Stream<Integer> stream2 = Stream.of(1, 2, 3); // 通过Stream.of()方法获取stream对象
Stream bietet viele Zwischenoperationsmethoden, mit denen Filter-, Mapping-, Slicing- und andere Operationen durchgeführt werden können. Schauen wir uns diese Operationsmethoden einzeln an:
(1) filter()-Methode: Filterelemente
List<Integer> list = Arrays.asList(1, 2, 3, 4); Stream<Integer> stream = list.stream(); stream.filter(i -> i%2 == 0).forEach(System.out::println); // 输出2和4
(2) map()-Methode: Kartenelemente
List<String> list = Arrays.asList("Java", "Python", "Ruby"); Stream<String> stream = list.stream(); stream.map(String::toLowerCase).forEach(System.out::println); // 输出java, python, ruby
(3) flatMap()-Methode: Reduzieren Sie die flow
List<List<Integer>> list = Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3, 4), Arrays.asList(5, 6)); Stream<List<Integer>> stream = list.stream(); stream.flatMap(Collection::stream).forEach(System.out::println); // 输出1, 2, 3, 4, 5, 6
(4) simply() Methode: Duplikate entfernen
List<Integer> list = Arrays.asList(1, 2, 3, 1, 2, 3); Stream<Integer> stream = list.stream(); stream.distinct().forEach(System.out::println); // 输出1, 2, 3
(5) sorted() Methode: sort
List<Integer> list = Arrays.asList(3, 2, 1); Stream<Integer> stream = list.stream(); stream.sorted().forEach(System.out::println); // 输出1, 2, 3
(6) limit() Methode: Anzahl der Elemente begrenzen
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); Stream<Integer> stream = list.stream(); stream.limit(3).forEach(System.out::println); // 输出1, 2, 3
(7) skip( ) Methode: Element überspringen
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); Stream<Integer> stream = list.stream(); stream.skip(2).forEach(System.out::println); // 输出3, 4, 5
(8) peek() Methode: Element anhängen
List<Integer> list = Arrays.asList(1, 2, 3); Stream<Integer> stream1 = list.stream(); Stream<Integer> stream2 = stream1.peek(System.out::println); stream2.count(); // 输出1, 2, 3
Stream bietet viele Beendigungsoperationsmethoden, die die Ergebnisse der Stream-Verarbeitung zurückgeben können. Schauen wir uns diese Operationsmethoden einzeln an:
(1) forEach()-Methode: Iteriere die Elemente im Stream
List<Integer> list = Arrays.asList(1, 2, 3); Stream<Integer> stream = list.stream(); stream.forEach(System.out::println); // 输出1, 2, 3
(2) count()-Methode: Zähle die Anzahl der Elemente
List<Integer> list = Arrays.asList(1, 2, 3); Stream<Integer> stream = list.stream(); stream.count(); // 输出3
(3) toArray()-Methode: Konvertieren Sie die Elemente im Stream in ein Array.
List<Integer> list = Arrays.asList(1, 2, 3); Stream<Integer> stream = list.stream(); Object[] array = stream.toArray(); System.out.println(Arrays.toString(array)); // 输出[1, 2, 3]
(4) Reduce()-Methode: Reduzieren Sie die Elemente im Stream
Paralleler Stream-Betrieb
List<Integer> list = Arrays.asList(1, 2, 3); Stream<Integer> stream = list.stream(); int result = stream.reduce(0, (x, y) -> x + y); System.out.println(result); // 输出6
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Stream-Funktion in Java für Stream-Operationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!