Sobes.tech
Senior

Čo robí metóda reduce?

sobes.tech AI

Odpoveď od AI

Metóda reduce v Jave sa používa na sekvenčné spracovanie prvkov streamu s akumuláciou výsledku. Prijíma dva parametre:

  • akumulátor (bifunkcia), ktorý kombinuje aktuálny akumulovaný výsledok s nasledujúcim prvkom;
  • (voliteľne) počiatočnú hodnotu pre akumulátor.

Na konci reduce zredukuje tok prvkov na jednu hodnotu, napríklad súčet, súčin alebo spojenie.

Príklad sčítania čísel pomocou 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("Súčet: " + sum); // Vypíše Súčet: 15
    }
}

Ak nie je uvedená počiatočná hodnota, reduce vráti Optional<T>, pretože stream môže byť prázdny.