Java.util.Arrays 类

java.util.Arrays.parallelPrefix() 方法用于并行累积给定数组的每个元素使用提供的函数就位。例如,如果数组最初包含 [2.0, 1.0, 0.0, 3.0] 并且操作执行加法,则返回时数组包含 [2.0, 3.0, 3.0, 6.0]。

语法

public static void parallelPrefix(double[] array,
                                  DoubleBinaryOperator op)

参数

数组 指定数组,通过此方法就地修改。
op 指定一个无副作用的函数来执行累积。

返回值

void类型。

异常

抛出NullPointerException,如果指定的数组或function 为 null。

示例:

在下面的示例中,使用了 java.util.Arrays.parallelPrefix() 方法并行添加给定数组的每个元素。

import java.util.*;

public class MyClass {
  
  //两个双数相加
  static double MyFunc(double x, double y) { 
    return x + y; 
  } 

  public static void main(String[] args) {
    //创建一个双精度数组
    double Arr[] = {1d, 2d, 3d, 4d, 5d};

    //打印Arr
    System.out.print("Arr contains:"); 
    for(double i: Arr)
      System.out.print(" " + i);
      
    //MyFunc与parallelPrefix方法一起使用
    //添加数组的每个元素
    Arrays.parallelPrefix(Arr, (a,b) -> MyFunc(a,b));

    //打印Arr
    System.out.print("\nArr contains:"); 
    for(double i: Arr)
      System.out.print(" " + i);
  }
}

上述代码的输出将是:

Arr contains: 1.0 2.0 3.0 4.0 5.0
Arr contains: 1.0 3.0 6.0 10.0 15.0