Sobes.tech
Senior

O que faz o método reduce?

sobes.tech IA

Resposta da IA

O método reduce em Java é utilizado para processar sequencialmente os elementos de um stream com acumulação do resultado. Ele aceita dois parâmetros:

  • um acumulador (uma bifuncção) que combina o resultado acumulado atual e o próximo elemento;
  • (opcionalmente) um valor inicial para o acumulador.

No final, reduce reduz o fluxo de elementos a um único valor, como a soma, o produto ou a concatenação.

Exemplo de soma de números usando reduce:

import java.util.Arrays;
import java.util.List;

public class ReduceExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
        int sum = numbers.stream()
                         .reduce(0, (acc, x) -> acc + x);
        System.out.println("Sum: " + sum); // Vai imprimir Sum: 15
    }
}

Se o valor inicial não for especificado, reduce retorna um Optional<T>, pois o fluxo pode estar vazio.