使用 Java 進行函數語言程式設計 - 歸約



在函數語言程式設計中,歸約是一種透過對所有值應用一個函式以將一個值流歸約到單個結果的技術。從 Java 8 開始,Java 在 Stream 類中提供了 reduce() 函式。流具有內建的歸約方法,如 sum()、average()、count(),這些方法針對流中的所有元素進行操作並返回單個結果。

以下示例展現了歸約的工作方式。

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
廣告
© . All rights reserved.