Можешь привести пример функций-редуцентов, используемых в Stream API для обработки данных?

В Stream API функции-редуценты (редукторы) используются для свёртки элементов потока в одно значение. Основные примеры:

Короткий ответ

Что ответить на собеседовании

В Stream API функции-редуценты (редукторы) используются для свёртки элементов потока в одно значение. Основные примеры:

Подробный разбор

Ответ с пояснениями

В 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"

Таким образом, редуценты позволяют агрегировать данные из потока в одно итоговое значение.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее