Ich werde die Beschreibung des aus Java 8 eingeführten Lambda-Ausdrucks für Anfänger mit einem Memorandum erläutern.
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! !!
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));
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