java.util.Arrays.parallelPrefix()方法用于执行parallelPrefix(T[] array, BinaryOperator<T> op) 用于数组的给定子范围。
语法
public static <T> void parallelPrefix(T[] array,
int fromIndex,
int toIndex,
BinaryOperator<T> op)
这里,T是数组中元素的类型。
参数
array | 指定数组。 |
fromIndex | 指定索引第一个元素的索引(包括)。 |
toIndex | 指定最后一个元素的索引(不包括)。 |
op | 指定一个无副作用的关联函数来执行累积。 |
table> 返回值
void类型。
异常
- 抛出IllegalArgumentException,如果fromIndex > toIndex。
- 抛出 ArrayIndexOutOfBoundsException(如果 fromIndex < 0 或 toIndex > array.length)。
- 抛出 NullPointerException(如果)指定的数组或函数为 null。
示例:
在下面的示例中,java.util.Arrays.parallelPrefix( ) 方法用于并行添加给定数组的给定范围内的每个元素。
import java.util.*;
public class MyClass {
//两个Long数相加
static Long MyFunc(Long x, Long y) {
return x + y;
}
public static void main(String[] args) {
//创建一个长数组
Long[] Arr = {1L, 2L, 3L, 4L, 5L};
//打印Arr
System.out.print("Arr contains:");
for(Long i: Arr)
System.out.print(" " + i);
//MyFunc与parallelPrefix方法一起使用来添加
//索引范围[2,5)内的数组的每个元素
Arrays.parallelPrefix(Arr, 2, 5, (a,b) -> MyFunc(a,b));
//打印Arr
System.out.print("\nArr contains:");
for(Long i: Arr)
System.out.print(" " + i);
}
}
上述代码的输出将是:
Arr contains: 1 2 3 4 5
Arr contains: 1 2 3 7 12