Sobes.tech
Middle

Co jsou to lambda výrazy v Javě a jakou roli hrají?

sobes.tech AI

Odpověď od AI

Výrazy lambda v Javě jsou anonymní funkce, které umožňují předávat kód jako data.

Role výrazů lambda:

  • Zjednodušení kódu: Umožňují psát stručnější a čitelnější kód, zejména při práci s funkčními rozhraními.
  • Funkcionální programování: Podporují paradigmu funkcionálního programování v Javě, čímž ji činí flexibilnější.
  • Zlepšení práce s kolekcemi: Používají se v API Stream pro operace jako filtrování, mapování a redukce.
  • Snížení šablonového kódu: Nahrazují v mnoha případech anonymní vnitřní třídy.

Příklad:

// Použití anonymní vnitřní třídy
Runnable classicRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Ahoj ze staré cesty!");
    }
};

// Použití lambda
Runnable lambdaRunnable = () -> System.out.println("Ahoj z lambda!");
// Použití lambda s API Stream pro filtrování
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> filteredNames = names.stream()
                                  .filter(name -> name.startsWith("A"))
                                  .collect(Collectors.toList());