Lambda-Ausdrücke in Java ermöglichen die kurze und klare Darstellung von Instanzen funktionaler Schnittstellen.
(a, b) -> a + bRunnable r = () -> System.out.println("Hallo Welt");Methodenreferenzen sind eine Kurzform für Lambda-Ausdrücke, die nur eine Methode aufrufen.
System.out::printlnStreams bieten eine Möglichkeit, Sequenzen von Daten in einer funktionalen Stil zu manipulieren.
Stream<String> stream = Stream.of("a", "b", "c");stream.filter(s -> s.startsWith("a")).forEach(System.out::println);stream.map(String::toUpperCase).forEach(System.out::println);Optional<String> result = stream.reduce((a, b) -> a + b);Streams können parallelisiert werden, um die Leistung zu verbessern.
stream.parallel().forEach(System.out::println);List<String> list = Arrays.asList("a", "b", "c");
list.stream().filter(s -> s.startsWith("a")).map(String::toUpperCase).forEach(System.out::println);List<String> newList = stream.collect(Collectors.toList());Lambda-Ausdrücke und Streams sind Schlüsselmerkmale der funktionalen Programmierung in Java. Lambdas ermöglichen es, Instanzen funktionaler Schnittstellen kurz und prägnant zu repräsentieren, während Streams die Verarbeitung von Datensequenzen in einer deklarativen Weise erleichtern. Sie können auch für die parallele Datenverarbeitung verwendet werden, um die Leistung zu steigern.