Junior — Middle
¿En qué momento se inicia el procesamiento en flujo con la colección?
sobes.tech AI
Respuesta de la IA
La ejecución del procesamiento en flujo (stream) en Java ocurre en el momento en que se llama a una operación terminal. Hasta ese momento, todas las operaciones intermedias (map, filter, sorted, etc.) son perezosas y no se ejecutan.
Por ejemplo:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
.filter(s -> s.startsWith("a"))
.map(String::toUpperCase);
// Aquí, el flujo aún no se ha iniciado
List<String> result = stream.collect(Collectors.toList()); // Operación terminal — inicia el procesamiento
Por lo tanto, el procesamiento en flujo se inicia cuando se llama a una operación terminal, como collect(), forEach(), reduce(), count() y similares.