Grundlegender Verarbeitungsablauf von Java Stream

Ich bin noch ein Anfänger in der Programmierung und werde eine Reihe schreiben, die Beschreibungen enthält, von denen ich dachte, ich könnte sie verwenden oder verwenden, wenn ich Java in einem ** Memorandum ** herstelle. Es ist nur ein Memorandum, also habe ich vor, es für mich selbst zu verwenden. Dieses Mal, das ist der erste Beitrag, wird es wie *** sein. Schreiben wir von den Grundlagen und erinnern uns an die transzendentalen Grundlagen.

Zunächst eine Beschreibung, die die allgemeine For-Anweisung durch Stream ersetzt Angenommen, Sie haben eine Liste mit den folgenden entsprechenden Nummern:

List<Integer> iList = Arrays.asList(1,4,5,7,14,15,77,98,100,103);

Ich möchte von hier aus nur gerade Zahlen ausgeben. Unten finden Sie den Code in einer normalen erweiterten For-Anweisung, die nur gerade Zahlen ausgibt.

		for (Integer i : iList) {
			if (i % 2 == 0) {
				System.out.println(i);
			}
		}

Ausgabeergebnis


4
14
98
100

Wenn Sie das oben genannte durch Stream ersetzen ...

		iList.stream().filter(i -> i % 2 == 0).forEach(i -> System.out.println(i));

Ausgabeergebnis


4
14
98
100

Hier finden Sie eine grobe Beschreibung Ihrer Arbeit mit Stream zuerst

iList.stream()

Also, hol den Stream

.filter(i -> i % 2 == 0)

Führen Sie eine Operation aus, die als Zwischenoperation bezeichnet wird

.forEach(i -> System.out.println(i));

Die letzte Operation, die als Beendigungsoperation bezeichnet wird, wird um ausgeführt.

Dieser Fluss von "Zwischenoperation" ⇒ "Beendigungsoperation" ist die Basis von Stream, also Wenn Sie sich so gut erinnern, ist es einfach zu googeln, auch wenn Sie ein wenig vergessen, wie man schreibt.

Wie Sie sehen können, haben die obige For-Anweisung und Stream das gleiche Verarbeitungsergebnis, aber im Detail scheint es, dass das, was sie tatsächlich tun, unterschiedlich ist.

*** Für die vertraute For-Aussage *** Schleife iList nur für die Elementanweisung von iList, und wenn das Element einen durch 2 teilbaren Wert hat, gib ihn aus, sonst wird er nicht ausgegeben und geht zum nächsten Element! Verarbeitung wie.

*** Für Stream *** Geben Sie die Bedingungen an, die mit der für die Zwischenoperation verwendeten "Filtermethode" gefiltert werden sollen. Extrahieren Sie die nach "für jede Methode" gefilterten Elemente nacheinander und führen Sie sie aus! Verarbeitung wie (Ausgabe in diesem Fall).

Es gibt verschiedene Arten von Zwischenoperationen und Beendigungsoperationen. Wenn Sie diese kombinieren, können Sie verschiedene Verarbeitungsschritte ausführen, die Sie schreiben möchten. Ich verwende oft die Zwischenoperation "Map-Methode" (Konvertierung) und die Beendigungsoperation "Sammeln" (Listengenerierung).

Ich werde als nächstes schreiben, welche Art von Operationsmethode zu welcher Zeit verwendet werden soll.

Recommended Posts

Grundlegender Verarbeitungsablauf von Java Stream
[Java] Stream-Verarbeitung
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
[Java] Stream API - Stream-Beendigungsverarbeitung
[Java] Stream API - Stream Zwischenverarbeitung
Zusammenfassung der Java-Fehlerverarbeitung
Die Java 8 Stream-Verarbeitung kann bisher weggelassen werden!
Über Lambda, Stream, LocalDate von Java8
Grundlegende Verwendung von Java Optionaler Teil 1
[Grundkenntnisse in Java] Umfang der Variablen
Ein grundlegendes Verständnis des Flusses der rekursiven Verarbeitung anstreben
[Java] Ausnahmetypen und grundlegende Verarbeitung
Grundstruktur des Java-Quellcodes
Datenverarbeitung mit der Stream-API von Java 8
[Processing x Java] Erstellen einer Entwicklungsumgebung
[Java] Persönliche Zusammenfassung der bedingten Anweisungen (grundlegend)
Grundkenntnisse in der Java-Entwicklung Schreiben von Notizen
[Grundkenntnisse in Java] Informationen zur Typkonvertierung
Grundlegende Java-Grammatik
Grundlegende Java-Grammatik
Probieren Sie Java 8 Stream aus
Java Stream API
Java Grundkenntnisse 1
[Java] Grundstruktur
[Java] [Basic] Glossar
Grundlegende Java-Grammatik
Grundlegende Java-Grammatik
Java 8 studieren (Stream)
[Java] Multithread-Verarbeitung
Zwischenverarbeitung streamen
[Java] Übersicht über Java
Java-Übung [Basic]
Java Stream-Beendigung
Java 9 Optional :: stream
Java iterativer Prozess
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
[Hinweis] Java: Geschwindigkeit der Verarbeitung der Liste nach Zweck
Java-Überprüfung ③ (grundlegende Verwendung von Arrays / Referenztyp)
[Java] Grundlegende Zusammenfassung von Java, die nicht von Progate abgedeckt wird ~ Teil 1 ~
Abgelaufene Java-Sammlung
Voraussichtliche Funktionen von Java
Listenverarbeitung zum Verstehen mit Bildern --java8 stream / javaslang-
[Java] Bedeutung der serialVersionUID
[Java] Stream Collectors Hinweis
NIO.2 Überprüfung von Java
Bewertung von Java Shilber
Java Grundwissen Memo
[Java] Stream API-Stream-Generierung
[Java] Datentyp ①-Basistyp
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API
Java - Vereinigung von Kommentaren
Implementierungsbeispiel eines einfachen LISP-Verarbeitungssystems (Java-Version)
Bildverarbeitung: Grundstruktur des vom Programm gelesenen Bildes
Grundlegende Java-Datumsmanipulation
Grundlegende Java-Namenskonventionen
Java (Verdienste des Polymorphismus)