Java Arrays parallelSetAll​(double[] array, IntToDoubleFunction generator) 方法



描述

**Java Arrays parallelSetAll​(double[] array, IntToDoubleFunction generator)** 方法使用提供的生成器函式並行設定指定陣列的所有元素,以計算每個元素。由於是並行的,因此對於大型陣列,set all 通常比順序迴圈 set all 更高效。

宣告

以下是 **java.util.Arrays.parallelSetAll​(double[] array, IntToDoubleFunction generator)** 方法的宣告

public static void parallelSetAll​(double[] array, IntToDoubleFunction generator)

引數

  • **array** − 要初始化的陣列。

  • **generator** − 接受索引並生成該位置所需值的函式。

返回值

此方法不返回任何值。

異常

  • **NullPointerException** − 如果 generator 為 null。

修改雙精度陣列示例

以下示例演示了 Java Arrays parallelSetAll(double[] array, IntToDoubleFunction generator) 方法的用法。首先,我們建立了一個雙精度陣列,並列印了原始陣列。使用 parallelSetAll() 方法,陣列被修改為具有更新的結果。之後列印修改後的陣列。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {
      // initialize array
      double arr[] = { 1.0, 2.0, 3.0, 5.0, 8.0 };

      System.out.print("Original Array: [");
      // print the array
      for (int i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");

      Arrays.parallelSetAll(arr, i -> arr[i] + 10 );

      System.out.print("Modified Array: [");
      // print the array
      for (int i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Original Array: [1.0 2.0 3.0 5.0 8.0 ]
Modified Array: [11.0 12.0 13.0 15.0 18.0 ]

使用生成器函式修改雙精度陣列示例

以下示例演示了 Java Arrays parallelSetAll(double[] array, IntToDoubleFunction generator) 方法的用法。首先,我們建立了一個雙精度陣列,並列印了原始陣列。建立了一個 IntToDoubleFunction 函式並將其傳遞給 parallelSetAll() 方法以相應地修改陣列。陣列被修改為具有更新的結果。之後列印修改後的陣列。

package com.tutorialspoint;

import java.util.Arrays;
import java.util.function.IntToDoubleFunction;

public class ArrayDemo {
   public static void main(String[] args) {
      // initialize array
      double arr[] = { 1.0, 2.0, 3.0, 5.0, 8.0 };

      System.out.print("Original Array: [");
      // print the array
      for (int i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");

      IntToDoubleFunction generator = i -> arr[i] + 10;

      Arrays.parallelSetAll(arr, generator);

      System.out.print("Modified Array: [");
      // print the array
      for (int i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Original Array: [1.0 2.0 3.0 5.0 8.0 ]
Modified Array: [11.0 12.0 13.0 15.0 18.0 ]

使用生成器函式修改雙精度陣列示例

以下示例演示了 Java Arrays parallelSetAll(double[] array, IntToDoubleFunction generator) 方法的用法。首先,我們建立了一個雙精度陣列,並列印了原始陣列。建立了一個生成器函式並將其傳遞給 parallelSetAll() 方法以相應地修改陣列。陣列被修改為具有更新的結果。之後列印修改後的陣列。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {
      // initialize array
      double arr[] = { 1.0, 2.0, 3.0, 5.0, 8.0 };

      System.out.print("Original Array: [");
      // print the array
      for (int i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");

      Arrays.parallelSetAll(arr, i -> generator(arr[i]));

      System.out.print("Modified Array: [");
      // print the array
      for (int i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");
   }
   
   private static double generator(double a) {
      return a + 10;
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Original Array: [1.0 2.0 3.0 5.0 8.0 ]
Modified Array: [11.0 12.0 13.0 15.0 18.0 ]
java_util_arrays.htm
廣告