使用 Java 进行函数式编程 - Reducing
在函数式编程中,reducing 是一种通过对所有值应用函数将值流缩减为单个结果的技术。从 Java 8 开始,Java 在 Stream 类中提供了 reduce() 函数。流具有内置的 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