Java Arrays parallelSetAll​(T[] array, IntFunction<? extends T> generator) 方法



描述

Java Arrays parallelSetAll​(T[] array, IntFunction<? extends T> generator) 方法使用提供的生成器函数并行设置指定数组的所有元素,以计算每个元素。由于是并行的,因此对于大型数组,设置所有元素通常比顺序循环设置所有元素更高效。

声明

以下是java.util.Arrays.parallelSetAll​(T[] array, IntFunction<? extends T> generator) 方法的声明

public static <T> void parallelSetAll​(T[] array, IntFunction<? extends T> generator)

参数

  • array − 要初始化的数组。

  • generator − 此函数接受一个索引并为该位置生成所需的值。

返回值

此方法不返回任何内容。

异常

  • NullPointerException − 如果 generator 为 null。

修改整数数组示例

以下示例演示了 Java Arrays parallelSetAll(T[] array, IntFunction<? extends T> generator) 方法的用法。首先,我们创建了一个 Integer 对象数组,并打印了原始数组。使用 parallelSetAll() 方法,数组被修改为具有更新的结果。之后打印修改后的数组。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {
      // initialize array
      Integer arr[] = { 1, 2, 3, 5, 8 };

      System.out.print("Original Array: [");
      // print the array
      for (Integer 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 (Integer i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Original Array: [1 2 3 5 8 ]
Modified Array: [11 12 13 15 18 ]

使用生成器函数修改整数数组示例

以下示例演示了 Java Arrays parallelSetAll(T[] array, IntFunction<? extends T> generator) 方法的用法。首先,我们创建了一个 Integer 对象数组,并打印了原始数组。创建了一个 IntFunction 函数并将其传递给 parallelSetAll() 方法以相应地修改数组。数组被修改为具有更新的结果。之后打印修改后的数组。

package com.tutorialspoint;

import java.util.Arrays;
import java.util.function.IntFunction;

public class ArrayDemo {
   public static void main(String[] args) {
      // initialize array
      Integer arr[] = { 1, 2, 3, 5, 8 };

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

      IntFunction<Integer> generator = i -> arr[i] + 10;

      Arrays.parallelSetAll(arr, generator);

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

输出

让我们编译并运行以上程序,这将产生以下结果:

Original Array: [1 2 3 5 8 ]
Modified Array: [11 12 13 15 18 ]

使用生成器函数修改整数数组示例

以下示例演示了 Java Arrays parallelSetAll(T[] array, IntFunction<? extends T> generator) 方法的用法。首先,我们创建了一个 Integer 对象数组,并打印了原始数组。创建了一个生成器函数并将其传递给 parallelSetAll() 方法以相应地修改数组。数组被修改为具有更新的结果。之后打印修改后的数组。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {
      // initialize array
      Integer arr[] = { 1, 2, 3, 5, 8 };

      System.out.print("Original Array: [");
      // print the array
      for (Integer 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 (Integer i = 0; i < arr.length; i++) {
         System.out.print(arr[i] + " ");
      }
      System.out.println("]");
   }
   
   private static int generator(int a) {
      return a + 10;
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Original Array: [1 2 3 5 8 ]
Modified Array: [11 12 13 15 18 ]
java_util_arrays.htm
广告