Sobes.tech
Junior — Middle

Podes dar um exemplo de funções de redução usadas na API Stream para processamento de dados?

sobes.tech IA

Resposta da IA

Na API de Stream, as funções de redução (reductores) são usadas para transformar os elementos do fluxo em um único valor. Exemplos principais:

  • reduce(BinaryOperator<T> accumulator) — reduz os elementos aplicando uma operação binária.
  • reduce(T identity, BinaryOperator<T> accumulator) — redução com um valor inicial.

Exemplo: cálculo da soma dos números numa 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

Outro exemplo — concatenação de strings:

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"

Assim, os reductores permitem agregar dados de um fluxo em um único valor final.