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.