Junior — Middle
Можеш ли да дадеш пример за функции за редукция, използвани в API Stream за обработка на данни?
sobes.tech AI
Отговор от AI
В 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"
По този начин редукторите позволяват агрегиране на данни от поток в една крайна стойност.