Sobes.tech
Junior — Middle

Puoi fare un esempio di funzioni di riduzione utilizzate nell'API Stream per l'elaborazione dei dati?

sobes.tech AI

Risposta dell'AI

Nell'API Stream, le funzioni di riduzione (riduttori) vengono utilizzate per ridurre gli elementi di un flusso a un singolo valore. Esempi principali:

  • reduce(BinaryOperator<T> accumulator) — riduce gli elementi applicando un'operazione binaria.
  • reduce(T identity, BinaryOperator<T> accumulator) — riduzione con un valore iniziale.

Esempio: calcolo della somma dei numeri in 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

Altro esempio — concatenazione di stringhe:

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"

In questo modo, i riduttori consentono di aggregare i dati di un flusso in un singolo valore finale.