Back to questions
Junior — Middle
83
Можешь привести пример функций-редуцентов, используемых в Stream API для обработки данных?
Answer from AI
sobes.tech AI
В Stream API функции-редуценты (редукторы) используются для свёртки элементов потока в одно значение. Основные примеры:
reduce(BinaryOperator<T> accumulator)— свёртывает элементы, применяя бинарную операцию.reduce(T identity, BinaryOperator<T> accumulator)— свёртывание с начальным значением.
Пример: подсчёт суммы чисел в списке
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
Другой пример — конкатенация строк:
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"
Таким образом, редуценты позволяют агрегировать данные из потока в одно итоговое значение.