Java 函数式编程 - 减少


在函数式编程中,缩减是一种通过对所有值应用函数来将值流缩减为单个结果的技术。从Java 8开始,Java在Stream类中提供了reduce()函数。流还具有内置的归约方法,例如 sum()、average()、count(),它们适用于流的所有元素并返回单个结果。

以下示例显示了 Reducing 的工作原理。

import java.util.stream.IntStream;

public class FunctionTester {
   public static void main(String[] args) {

      //1 * 2 * 3 * 4 = 24
      int product = IntStream.range(1, 5) 
         .reduce((num1, num2) -> num1 * num2)
         .orElse(-1); 

      //1 + 2 + 3 + 4 = 10
      int sum =  IntStream.range(1, 5).sum();

      System.out.println(product);
      System.out.println(sum);
   } 
}

输出

24
10