Sobes.tech
Middle

¿Qué operaciones existen en los streams y qué tipos de operaciones hay?

sobes.tech AI

Respuesta de la IA

En Java 8+, los streams proporcionan un conjunto de operaciones para procesar colecciones de datos.

Tipos de operaciones:

  1. Intermedias: Devuelven un nuevo stream. Pueden ejecutarse de manera perezosa. Permiten encadenar operaciones. Incluyen:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Terminales: Finalizan el trabajo del stream, realizando el procesamiento y devolviendo un resultado o produciendo un efecto secundario. Después de ejecutar una operación terminal, el stream no puede usarse nuevamente. Incluyen:

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

Ejemplo de cadena de operaciones:

// Operaciones intermedias (filter, map)
// Operación terminal (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // Filtra elementos que empiezan con "A"
    .map(String::toUpperCase) // Transforma a mayúsculas
    .collect(Collectors.toList()); // Recolecta los resultados en una lista