Middle
¿Qué hace el método collect en Java?
sobes.tech AI
Respuesta de la IA
El método collect en la API de Streams de Java realiza una reducción mutable (mutable reduction) de los elementos del flujo en un solo objeto resultante. Toma un Collector como argumento y permite agregar datos de diversas maneras, por ejemplo, recopilando elementos en colecciones, agrupándolos o aplicando funciones de agregación (suma, promedio, etc.).
Componentes principales de Collector:
supplier(): Crea un nuevo contenedor resultante vacío.accumulator(): Añade el elemento actual del flujo al contenedor resultante.combiner(): Combina dos contenedores resultantes (se usa en flujos paralelos).finisher(): Aplica una transformación final al contenedor resultante (opcional).
Las implementaciones populares de Collector son proporcionadas por la clase Collectors:
toList(),toSet(),toMap(): Recopilan elementos enList,Set,Maprespectivamente.joining(): Combina elementos de cadena.groupingBy(): Agrupa elementos según un criterio dado.counting(),summingInt(),averagingDouble(): Contar, sumar, promediar.
Ejemplo de uso para recopilar en una lista:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class CollectExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> collectedNames = names.stream()
.collect(Collectors.toList()); // Recopilación en List
System.out.println(collectedNames);
}
}