Sobes.tech
Middle

Čo sú to lambda výrazy v Jave a akú úlohu zohrávajú?

sobes.tech AI

Odpoveď od AI

Výrazy lambda v Jave sú anonymné funkcie, ktoré umožňujú odovzdávať kód ako dáta.

Úloha výrazov lambda:

  • Zjednodušenie kódu: Umožňujú písať kratší a čitateľnejší kód, najmä pri práci s funkčnými rozhraniami.
  • Funkcionálne programovanie: Podporujú paradigmu funkcionálneho programovania v Jave, čím ho robia flexibilnejším.
  • Zlepšenie práce s kolekciami: Používajú sa v API Stream na operácie ako filtrovanie, mapovanie a redukcia.
  • Zníženie šablónového kódu: Nahrádzajú v mnohých prípadoch anonymné vnútorné triedy.

Príklad:

// Použitie anonymnej vnútorné triedy
Runnable classicRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Ahoj zo starého spôsobu!");
    }
};

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