Sobes.tech
Middle

Czym są wyrażenia lambda w Java i jaką odgrywają rolę?

sobes.tech AI

Odpowiedź od AI

Wyrażenia lambda w Java to anonimowe funkcje, które pozwalają przekazywać kod jako dane.

Rola wyrażeń lambda:

  • Uproszczenie kodu: Pozwalają pisać krótszy i czytelniejszy kod, szczególnie przy pracy z interfejsami funkcyjnymi.
  • Programowanie funkcyjne: Wspierają paradygmat programowania funkcyjnego w Java, czyniąc go bardziej elastycznym.
  • Ulepszenie pracy z kolekcjami: Są używane w API Stream do wykonywania operacji takich jak filtrowanie, mapowanie i redukcja.
  • Zmniejszenie szablonowego kodu: Zastępują anonimowe klasy wewnętrzne w wielu przypadkach.

Przykład:

// Użycie anonimowej klasy wewnętrznej
Runnable classicRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Witaj ze starej metody!");
    }
};

// Użycie wyrażenia lambda
Runnable lambdaRunnable = () -> System.out.println("Witaj z lambda!");
// Użycie lambda z API Stream do filtrowania
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> filteredNames = names.stream()
                                  .filter(name -> name.startsWith("A"))
                                  .collect(Collectors.toList());