Lambda-Funktionen oder Lambda-Ausdrücke sind eine Möglichkeit, eine klare und prägnante Syntax zum Schreiben anonymer Methoden in Java bereitzustellen. Sie ermöglichen es Ihnen, Implementierungen funktionaler Schnittstellen lesbarer und ausdrucksstärker zu schreiben.
Eine Lambda-Funktion in Java ist ein kurzer Codeblock, der Parameter aufnimmt und einen Wert zurückgibt. Es handelt sich im Wesentlichen um eine Methode ohne Namen, mit der Sie Funktionen als Argument an Methoden übergeben oder als Variable speichern können.
Syntax
Die grundlegende Syntax einer Lambda-Funktion lautet wie folgt:
(parameters) -> expression
Oder, wenn Sie mehrere Aussagen haben:
(parameters) -> { // multiple statements }
Um Lambda-Ausdrücke verwenden zu können, benötigen Sie eine funktionale Schnittstelle. Eine funktionale Schnittstelle ist eine Schnittstelle, die genau eine abstrakte Methode besitzt. Beispiele hierfür sind ausführbare, aufrufbare und benutzerdefinierte Schnittstellen mit einer einzigen abstrakten Methode.
Beginnen wir mit einem einfachen Beispiel einer Lambda-Funktion in Java. Wir verwenden eine ausführbare Schnittstelle, um Folgendes zu demonstrieren:
public class LambdaExample { public static void main(String[] args) { // Traditional way Runnable oldRunnable = new Runnable() { @Override public void run() { System.out.println("Running in a thread!"); } }; new Thread(oldRunnable).start(); // Using Lambda Expression Runnable lambdaRunnable = () -> System.out.println("Running in a thread with Lambda!"); new Thread(lambdaRunnable).start(); } }
Ausgabe
Running in a thread! Running in a thread with Lambda!
Lambda-Funktionen sind besonders nützlich bei der Arbeit mit Sammlungen. Hier ist ein Beispiel, das das Sortieren einer Liste von Zeichenfolgen mithilfe von Lambda-Ausdrücken zeigt:
import java.util.Arrays; import java.util.List; public class LambdaListExample { public static void main(String[] args) { List<String> names = Arrays.asList("John", "Jane", "Paul", "Alice"); // Using lambda to sort the list names.sort((name1, name2) -> name1.compareTo(name2)); // Printing sorted names names.forEach(name -> System.out.println(name)); } }
Ausgabe
Alice Jane John Paul
Lambda-Ausdrücke glänzen, wenn sie mit Java Streams für Vorgänge wie Filterung und Zuordnung kombiniert werden. So können Sie Lambdas verwenden, um eine Liste von Ganzzahlen zu filtern und zu verarbeiten:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class LambdaStreamExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Filtering even numbers and squaring them List<Integer> squaredEvens = numbers.stream() .filter(n -> n % 2 == 0) .map(n -> n * n) .collect(Collectors.toList()); // Printing the result squaredEvens.forEach(System.out::println); } }
Ausgabe
4 16 36 64 100
Lambda-Funktionen in Java bieten eine kompaktere und ausdrucksstärkere Möglichkeit, anonyme Methoden und funktionale Schnittstellen zu handhaben. Sie können Ihren Code erheblich vereinfachen und seine Lesbarkeit verbessern, insbesondere wenn es um Sammlungen und Stream-Vorgänge geht.
Wenn Sie Fragen haben oder weitere Erläuterungen benötigen, können Sie unten gerne einen Kommentar hinterlassen!
Weitere Beiträge finden Sie unter: Was ist eine Lambda-Funktion in Java und Beispiele.
Das obige ist der detaillierte Inhalt vonWas ist eine Lambda-Funktion in Java und Beispiel.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!