Sobes.tech
Senior

Какво прави методът reduce?

sobes.tech AI

Отговор от 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); // Ще изведе Сума: 15
    }
}

Ако не е посочена начална стойност, reduce връща Optional<T>, тъй като потокът може да е празен.