Sobes.tech
Junior — Middle

¿Puedes dar un ejemplo de funciones reductoras utilizadas en la API Stream para procesar datos?

sobes.tech AI

Respuesta de la IA

En la API de Stream, las funciones de reducción (reductores) se utilizan para transformar los elementos del flujo en un solo valor. Los ejemplos principales:

  • reduce(BinaryOperator<T> accumulator) — combina los elementos aplicando una operación binaria.
  • reduce(T identity, BinaryOperator<T> accumulator) — reducción con un valor inicial.

Ejemplo: cálculo de la suma de números en una lista

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
                 .reduce(0, (a, b) -> a + b);
System.out.println(sum); // 15

Otro ejemplo — concatenación de cadenas:

List<String> words = Arrays.asList("Java", "Stream", "API");
String result = words.stream()
                     .reduce("", (a, b) -> a + b + " ").trim();
System.out.println(result); // "Java Stream API"

De esta manera, los reductores permiten agregar datos de un flujo en un solo valor final.