Sobes.tech
Junior — Middle

Tudsz példát mondani az redukciós függvényekre, amelyeket a Stream API adatfeldolgozásra használ?

sobes.tech MI

Válasz az MI-től

A Stream API-ban a redukciós függvények (reduktorok) arra szolgálnak, hogy az áram elemeit egyetlen értékké összegyűjtsék. Fő példák:

  • reduce(BinaryOperator<T> accumulator) — bináris művelet alkalmazásával összegzi az elemeket.
  • reduce(T identity, BinaryOperator<T> accumulator) — kezdőértékkel történő összegzés.

Példa: a számok összegének kiszámítása egy listában

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

Másik példa — szövegek összefűzése:

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"

Így a reduktorok lehetővé teszik az adatok összegyűjtését egy folyam végén egyetlen értékbe.