Sobes.tech
Назад к вопросам
Senior
5

Что делает метод reduce?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Метод reduce в Java используется для последовательной обработки элементов стрима с накоплением результата. Он принимает два параметра:

  • аккумулятор (бифункцию), который комбинирует текущий накопленный результат и следующий элемент;
  • (опционально) начальное значение аккумулятора.

В итоге reduce сводит поток элементов к одному значению, например, сумме, произведению или конкатенации.

Пример суммирования чисел с помощью reduce:

import java.util.Arrays;
import java.util.List;

public class ReduceExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
        int sum = numbers.stream()
                         .reduce(0, (acc, x) -> acc + x);
        System.out.println("Sum: " + sum); // Выведет Sum: 15
    }
}

Если начальное значение не указано, reduce возвращает Optional<T>, так как поток может быть пустым.