Sobes.tech
Middle

Jaké operace existují ve streamech a jaké typy operací existují?

sobes.tech AI

Odpověď od AI

Ve streamech od Java 8+ poskytují sadu operací pro zpracování kolekcí dat.

Typy operací:

  1. Mezistupňové (Intermediate): Vrací nový stream. Mohou být prováděny lenivě. Umožňují řetězení operací. Patří sem:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Terminální (Terminal): Ukončují práci streamu, provádějí zpracování a vracejí výsledek nebo způsobují vedlejší efekt. Po provedení terminální operace nelze stream znovu použít. Patří sem:

    • forEach()
    • forEachOrdered()
    • toArray()
    • reduce()
    • collect()
    • count()
    • sum()
    • average()
    • min()
    • max()
    • anyMatch()
    • allMatch()
    • noneMatch()
    • findFirst()
    • findAny()

Příklad řetězce operací:

// Mezistupňové operace (filter, map)
// Terminální operace (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // Filtrace prvků začínajících na "A"
    .map(String::toUpperCase) // Převod na velká písmena
    .collect(Collectors.toList()); // Sbírání výsledků do seznamu