Java Stream API

Einführung

Java Benutzt du es? Ich schreibe in letzter Zeit oft etwas, aber ich denke, dass es seit der Implementierung der "Stream API" ziemlich praktisch geworden ist. Typische Dinge wie "Stream.forEach" und "Stream.filter" kommen sofort heraus, Einige Dinge, die ich nicht oft benutze, kommen nicht heraus, deshalb werde ich sie als Memorandum aufbewahren.

Stream.generate Erstellt einen ungeordneten, unendlichen Stream. Dies ist nützlich, wenn Sie irrelevante Werte erstellen, z. B. Zufallszahlen.

Dokument: docs

Code

    public static void main(String[] args) {
        Stream<Double> stream = Stream.generate(() -> Math.random());
        stream.limit(5).forEach(System.out::println);
    }

Ergebnis

0.022804976867977667
0.06422820749702451
0.7240936837411123
0.9070898332933144
0.6724389714182997

Stream.anyMatch Mit Predicate <T> als Parameter wird true zurückgegeben, wenn mindestens ein Wert vorhanden ist, der der Bedingung entspricht.

Dokument: docs

Code

    public static void main(String[] args) {
        List<String> strList = Arrays.asList("dog", "cat", "bird");
        boolean match = strList.stream().anyMatch(e -> e.equals("dog"));
        System.out.println(match);
    }

Ergebnis

true

Stream.allMatch Mit Predicate <T> als Parameter wird true zurückgegeben, wenn alle Werte den Bedingungen entsprechen.

Dokument: docs

Code

    public static void main(String[] args) {
        List<String> strList = Arrays.asList("dog", "cat", "bird");
        boolean match = strList.stream().allMatch(e -> e.equals("dog"));
        System.out.println(match);
    }

Ergebnis

false

Stream.noneMatch Mit Predicate <T> als Parameter wird true zurückgegeben, wenn kein Wert vorhanden ist, der der Bedingung entspricht.

Dokument: docs

Code

    public static void main(String[] args) {
        List<String> strList = Arrays.asList("dog", "cat", "bird");
        boolean match = strList.stream().noneMatch(e -> e.equals("fish"));
        System.out.println(match);
    }

Ergebnis

true

Stream.takeWhile Mit Predicate <T> als Parameter wird der Wert zurückgegeben, während die Bedingungen erfüllt sind. Das folgende Beispiel gibt eine Zahl kleiner als 0 zurück.

Dokument: docs

Code

    public static void main(String[] args) {
        List<Integer> numList = Arrays.asList(
                -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
        );
        numList.stream().takeWhile(x -> x < 0).forEach(System.out::println);
    }

Ergebnis

-5
-4
-3
-2
-1

Stream.dropWhile Mit Predicate <T> als Parameter wird der Wert zurückgegeben, während die Bedingungen nicht erfüllt sind. Im folgenden Beispiel werden Zahlen größer oder gleich 0 zurückgegeben.

Dokument: docs

Code

    public static void main(String[] args) {
        List<Integer> numList = Arrays.asList(
                -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
        );
        numList.stream().dropWhile(x -> x < 0).forEach(System.out::println);
    }

Ergebnis

0
1
2
3
4
5

Schließlich

StreamAPI Es ist sehr praktisch, nicht wahr? Ich möchte es aktiv nutzen und einen Code anstreben, der intuitiv verstanden werden kann. Es ist kurz, aber das war's. Vielen Dank!

Recommended Posts

Java Stream API
[Java] Stream API / Map
Java Stream API Spickzettel
Java Stream API in 5 Minuten
[Java] Stream API - Stream-Beendigungsverarbeitung
[Java] Stream API - Stream Zwischenverarbeitung
[Java] Einführung in die Stream-API
[Java] Stream API Zwischenoperation
API-Memo streamen
[java8] Um die Stream-API zu verstehen
[Einführung in Java] Informationen zur Stream-API
Ich habe versucht, die Java8 Stream API zu verwenden
Java 8 studieren (Stream)
Java 8 ~ Stream API ~ startet jetzt
Java Stream-Beendigung
[Java] Stream-Verarbeitung
Grundlagen der Stream-API
Java 9 Optional :: stream
Versuchen Sie es mit der Stream-API in Java
Heutzutage Java Lambda Expressions und Stream API
Probieren Sie verschiedene Java Stream API-Methoden aus (jetzt)
[Java] Stream Collectors Hinweis
Packen Sie die API-Antwort (Java)
[Java] Stream API-Stream-Generierung
Stream-API (Collectors-Klasse)
Stream-API-Zuordnungsmethode
Fehlerbehebung bei der Docker-Client Java API
Zabbix API in Java
Informationen zur Java8-Stream-Reduzierung
Grobe Zusammenfassung des Java8-Streams
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
[Inhouse-Lernsitzung] Java-Grundlagen - Lambda-Ausdruck und Stream-API - (13.07.2017)
[Für Anfänger] So bedienen Sie die Stream-API nach Java 8
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API
Java8-Stream, Zusammenfassung des Lambda-Ausdrucks
Java
Java Stream kann nicht wiederverwendet werden.
Java
[Java11] Stream Usage Summary -Basics-
Java Basic Learning Content 8 (Java-API)
Java-Anwendung für Anfänger: Stream
Neueste Generierung von Java-API-Spezifikationen
[Ein Muss für einen Java-Ingenieurlehrling] Verwendung der Stream-API
Behandeln Sie Ausnahmen kühl mit Java 8-Lambda-Ausdrücken und der Stream-API
Konvertieren Sie ein zweidimensionales Array mit der Java 8 Stream-API in das CSV-Format
[Java 8] Doppelte Löschung (& doppelte Überprüfung) mit Stream
[Java] Stream (Filter, Map, ForEach, Reduce)
Exportieren Sie ein Problem mithilfe der Java-API von JIRA
Über Lambda, Stream, LocalDate von Java8
Java HTTP Client API-Zeitlimiteinstellung
[Java] Elementexistenzprüfung mit Stream
Generieren Sie die CloudStack-API-URL in Java
Erstellen Sie eine einfach zu erweiternde Stream-API-Alternative
Treffen Sie Zaims API (OAuth 1.0) in Java
Analysieren der COTOHA-API-Syntaxanalyse in Java
Grundlegender Verarbeitungsablauf von Java Stream
Rufen Sie die Java-API von TensorFlow von Scala aus auf