Sobes.tech
Middle

Quais operações existem em streams e quais tipos de operações existem?

sobes.tech IA

Resposta da IA

No Java 8+, os streams fornecem um conjunto de operações para processar coleções de dados.

Tipos de operações:

  1. Intermediárias: Retornam um novo stream. Podem ser executadas de forma preguiçosa. Permitem encadear operações. Incluem:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Terminais: Finalizam o trabalho do stream, realizando o processamento e retornando um resultado ou produzindo um efeito colateral. Após a execução de uma operação terminal, o stream não pode ser reutilizado. Incluem:

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

Exemplo de cadeia de operações:

// Operações intermediárias (filter, map)
// Operação terminal (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // Filtra elementos que começam com "A"
    .map(String::toUpperCase) // Transforma em maiúsculas
    .collect(Collectors.toList()); // Recolhe os resultados numa lista