Junior — Middle
Czy możesz podać przykład funkcji redukujących używanych w API Stream do przetwarzania danych?
sobes.tech AI
Odpowiedź od AI
W API Stream funkcje redukcyjne (reduktory) służą do łączenia elementów strumienia w jedną wartość. Główne przykłady:
reduce(BinaryOperator<T> accumulator)— łączy elementy, stosując operację binarną.reduce(T identity, BinaryOperator<T> accumulator)— redukcja z wartością początkową.
Przykład: obliczanie sumy liczb na liście
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
Inny przykład — konkatenacja łańcuchów:
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"
W ten sposób reduktory pozwalają na agregację danych ze strumienia w jedną końcową wartość.