什么是Java相当于Python的reduce函数?

Leg*_*ato 4 python java lambda functional-programming function

在这里这里已经提出了类似的问题,但鉴于Java 8的出现,以及这些问题的普遍过时的性质,我想知道现在是否会有至少与之相似的东西?

就是我所说的.

ely*_*ase 5

您可以使用lambda和Stream.reduce,在专门用于减少的文档中有一个页面:

Integer totalAgeReduce = roster
   .stream()
   .map(Person::getAge)
   .reduce(
       0,
       (a, b) -> a + b);
Run Code Online (Sandbox Code Playgroud)


Mic*_*sel 4

这是使用 Java 8 流实现的Python 文档中使用的示例:

List<Integer> numbers = Arrays.asList(new Integer[] { 1, 2, 3, 4, 5 });
Optional<Integer> sum = numbers.stream().reduce((a, b) -> a + b);
System.out.println(sum.get());
Run Code Online (Sandbox Code Playgroud)