[JAVA] [Für Anfänger] Über Lambda-Ausdrücke und Stream-API

Ich werde die Beschreibung des aus Java 8 eingeführten Lambda-Ausdrucks für Anfänger mit einem Memorandum erläutern.

Was ist ein Lambda-Ausdruck?

Lambda-Ausdrücke sind ein von Java8 eingeführtes Beschreibungsformat, mit dem Methoden wie Variablen behandelt werden können. Die Verwendung von Lambda-Ausdrücken vereinfacht das Schreiben und erleichtert das Schreiben von Code.

Die Verwendung von Lambda-Ausdrücken bei Verwendung von Funktionsschnittstellen wie der Stream-API erleichtert das Schreiben! !!

Wie schreibe ich einen Lambda-Ausdruck?

Zunächst werde ich die eigentliche Beschreibungsmethode des Lambda-Ausdrucks erläutern.

RunnableLamda.java


public static void main(String[] args) {
  Runnable runner = () -> System.out.println("Hello");
  runner.run(); //Hello
}

Das Obige beschreibt die ausführbare Schnittstelle unter Verwendung eines Lambda-Ausdrucks. In der anonymen Klasse werden "new Runnabl () {}" und "public void run" weggelassen.

Beachten Sie auch, dass Lambda-Ausdrücke nur eine Schnittstelle mit abstrakten Methoden verwenden können.

Der Argumenttyp wird vom Compiler automatisch geschätzt und muss nicht beschrieben werden. Selbst wenn Sie den Typ wie gewohnt schreiben, wird kein Kompilierungsfehler angezeigt.

StreamAPI Wie der Lambda-Ausdruck ist die in Java 8 hinzugefügte Funktion "Stream-API" eine praktische API für die Verarbeitung einer Reihe von Elementen wie Liste und Sammlung.

Die Stream-API ist sehr kompatibel, da sie unter der Voraussetzung des Lambda-Ausdrucks erstellt wird.

Beispielsweise kann der Prozess des Anzeigens nur gerader Zahlen in 1 bis 6 wie folgt geschrieben werden.

StreamLamda.java


List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5, 6);
integerList.stream() 
        .filter(i -> i % 2 == 0) 
        .forEach(i -> System.out.println(i)); 

Wir werden auch andere Stream-APIs einführen. forEach Schleifen Sie den Inhalt der Liste. Sehr einfach zu schreiben.

ForEachSample.java


Arrays.asList(new Integer[] { 1, 2, 3, 4, 5, 6 }).forEach(System.out::println);

filter Es ist eine Zwischenoperation zum Filtern und dient als if-Anweisung. Übergeben Sie einen Lambda-Ausdruck, der T-> boolean ist, als Argument. Sammle nur Elemente, deren Ausdruck wahr ist.

FilterSample.java


Arrays.asList(new Integer[] { 1, 2, 3, 4, 5, 6 }).stream().filter(x -> x > 3).forEach(System.out::println);

map Es ist eine Zwischenoperation, mit der Elemente konvertiert werden können. Sie können vier Regeln für Elemente ausführen und sogar Typen konvertieren.

MapSample.java


List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5, 6);
integerList.stream() 
        .map(i -> "Das Element ist" + i + "ist") 
        .forEach(i -> System.out.println(i)); 

Schließlich

Die diesmal eingeführten Lambda-Ausdrücke und die Stream-API können auch auf herkömmliche Weise geschrieben werden. Im Entwicklungsbereich gibt es jedoch viele Möglichkeiten, von anderen geschriebenen Code sowie von Ihnen selbst codierten Code zu lesen. Die Programme anderer enthalten möglicherweise Lambda-Ausdrücke und Stream-APIs. Gewöhnen Sie sich also daran!

Recommended Posts

[Für Anfänger] Über Lambda-Ausdrücke und Stream-API
Heutzutage Java Lambda Expressions und Stream API
Java für Anfänger, Ausdrücke und Operatoren 1
Java für Anfänger, Ausdrücke und Operatoren 2
Über Java-Lambda-Ausdrücke
Über Rohölverarbeitung und Produkte mit Gerät (für Anfänger)
[Für Anfänger] So bedienen Sie die Stream-API nach Java 8
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API
Über für Anweisung und wenn Anweisung
Java-Anwendung für Anfänger: Stream
[Einführung in Java] Über Lambda-Ausdrücke
Über Lambda, Stream, LocalDate von Java8
[Einführung in Java] Informationen zur Stream-API
[Für Java-Anfänger] Informationen zur Ausnahmebehandlung
Klassen und Instanzen Java für Anfänger
Bis zur Programmierung können Anfänger Lambda-Ausdrücke verwenden
Java8 / 9-Anfänger: Streamen Sie API-Suchtpunkte und wie Sie damit umgehen
C-Makro für watchOS und Swift API Availability
C-Makro für die Verfügbarkeit von tvOS und Swift API
API-Memo streamen
Kauen Sie über API
Java Stream API
Grundlagen der Stream-API
[Für Anfänger] Verstehen Sie schnell die Grundlagen von Java 8 Lambda
[Inhouse-Lernsitzung] Java-Grundlagen - Lambda-Ausdruck und Stream-API - (13.07.2017)
Zum ersten Mal lernen Java # 3 Ausdrücke und Operatoren
Array-Variablen und assoziative Arrays Anfänger haben für Anfänger kompiliert
Java Häufig verwendete Anweisungsliste (für Anfänger und Anfänger)
Informationen zur Verzeichnisstruktur von RSpec und zur Rolle der einzelnen Spezifikationen