Sobes.tech
Middle

Aké operácie existujú v streamoch a aké typy operácií existujú?

sobes.tech AI

Odpoveď od AI

V Java 8+ poskytujú streamy súbor operácií na spracovanie kolekcií dát.

Typy operácií:

  1. Medzistupňové (Intermediate): Vracajú nový stream. Môžu byť vykonávané lenivo. Umožňujú reťazenie operácií. Zahŕňajú:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Terminálne (Terminal): Ukončujú prácu streamu, vykonávajú spracovanie a vracajú výsledok alebo spôsobujú vedľajší efekt. Po vykonaní terminálnej operácie sa stream nemôže použiť znovu. Zahŕňajú:

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

Príklad reťazca operácií:

// Medzistupňové operácie (filter, map)
// Terminálna operácia (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // Filtruje prvky začínajúce na "A"
    .map(String::toUpperCase) // Prevod na veľké písmená
    .collect(Collectors.toList()); // Zhromažďovanie výsledkov do zoznamu