Sobes.tech
Middle

Ce operații există în stream-uri și ce tipuri de operații există?

sobes.tech AI

Răspuns de la AI

În Java 8+, stream-urile oferă un set de operații pentru procesarea colecțiilor de date.

Tipuri de operații:

  1. Intermediare: Returnează un nou stream. Pot fi executate leneș. Permite concatenarea operațiilor. Include:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Terminale: Încheie fluxul, executând procesarea și returnând un rezultat sau generând un efect secundar. După executarea unei operații terminale, fluxul nu poate fi reutilizat. Include:

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

Exemplu de lanț de operații:

// Operații intermediare (filter, map)
// Operație terminală (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // Filtrarea elementelor care încep cu "A"
    .map(String::toUpperCase) // Transformarea în majuscule
    .collect(Collectors.toList()); // Colectarea rezultatelor într-o listă