Java Arrays - parallelPrefix() Method
The java.util.Arrays.parallelPrefix() method is used to perform parallelPrefix(T[] array, BinaryOperator<T> op) for the given subrange of the array.
Syntax
public static <T> void parallelPrefix(T[] array, int fromIndex, int toIndex, BinaryOperator<T> op)
Here, T is the type of elements in the array.
Parameters
array |
Specify the array. |
fromIndex |
Specify the index of the first element, inclusive. |
toIndex |
Specify the index of the last element, exclusive. |
op |
Specify a side-effect-free, associative function to perform the cumulation. |
Return Value
void type.
Exception
- Throws IllegalArgumentException, if fromIndex > toIndex.
- Throws ArrayIndexOutOfBoundsException, if fromIndex < 0 or toIndex > array.length.
- Throws NullPointerException, if the specified array or function is null.
Example:
In the example below, the java.util.Arrays.parallelPrefix() method is used to add, in parallel, each element in the given range of given array in place.
import java.util.*; public class MyClass { //Adds two Long numbers static Long MyFunc(Long x, Long y) { return x + y; } public static void main(String[] args) { //creating a Long array Long[] Arr = {1L, 2L, 3L, 4L, 5L}; //printing Arr System.out.print("Arr contains:"); for(Long i: Arr) System.out.print(" " + i); //MyFunc is used with parallelPrefix method to add //each elements of the array in index range [2,5) Arrays.parallelPrefix(Arr, 2, 5, (a,b) -> MyFunc(a,b)); //printing Arr System.out.print("\nArr contains:"); for(Long i: Arr) System.out.print(" " + i); } }
The output of the above code will be:
Arr contains: 1 2 3 4 5 Arr contains: 1 2 3 7 12
❮ Java.util - Arrays