Lambda-Ausdrücke sind eine Funktionserweiterung in Java 8, die es ermöglicht, Funktionen als Argumente an Methoden zu übergeben oder anonyme Funktionen zu erstellen. Lambda-Ausdrücke erleichtern das Schreiben von Code, insbesondere bei der Verwendung von Funktionsschnittstellen (Functional Interfaces) wie java.util.function.Predicate, java.util.function.Consumer, java.util.function.Function usw.
(parameter) -> { body }
Hier sind einige Beispiele für die Verwendung von Lambda-Ausdrücken in Java:
// Ohne Lambda-Ausdruck
Runnable runnable1 = new Runnable() {
@Override
public void run() {
System.out.println("Hallo von Runnable 1");
}
};
// Mit Lambda-Ausdruck
Runnable runnable2 = () -> {
System.out.println("Hallo von Runnable 2");
};
// Ohne Lambda-Ausdruck
Comparator comparator1 = new Comparator() {
@Override
public int compare(Integer a, Integer b) {
return a.compareTo(b);
}
};
// Mit Lambda-Ausdruck
Comparator comparator2 = (a, b) -> a.compareTo(b);
// Ohne Lambda-Ausdruck
List names = Arrays.asList("Alice", "Bob", "Charlie");
names.forEach(new Consumer() {
@Override
public void accept(String name) {
System.out.println("Hallo " + name);
}
});
// Mit Lambda-Ausdruck
names.forEach(name -> System.out.println("Hallo " + name));
Lambda-Ausdrücke sind besonders nützlich, wenn Sie anonyme Funktionen benötigen oder wenn Sie Codeblöcke an Methoden übergeben möchten. Sie verbessern die Lesbarkeit und den Schreibstil von Code erheblich. Lambda-Ausdrücke werden häufig in Kombination mit Streams und Funktionsschnittstellen verwendet, um effizienten und lesbareren Code für Datenverarbeitung und -manipulation zu schreiben.