Java Arrays.parallelPrefix()方法

原文:https://www.studytonight.com/java-util/java-arrays-parallelsetall-method

在本教程中,我们将学习parallelSetAll() 方法。与parallelPrefix() 方法不同,parallelSetAll()方法只处理当前元素,不考虑其他元素。它是Arrays类方法,用于设置数组中的元素。

句法

parallelSetAll(datatype[] array, IntToDoubleFunction generator)

parallelSetAll()方法重载方法列表

此表包含parallelSetAll()方法的所有重载变体。

方法 描述
静态空并行高(双[]数组,IntToDoubleFunction 生成器) 此方法使用提供的生成器函数计算每个元素,并行设置指定数组的所有元素。
静态空并行高(int[]数组,IntUnaryOperator 生成器) 此方法使用提供的生成器函数计算每个元素,并行设置指定数组的所有元素。
静态 void parallels tall(long[]数组,IntToLongFunction 生成器) 此方法使用提供的生成器函数计算每个元素,并行设置指定数组的所有元素。
静< T >虚空平行高(T【】阵,IntFunction <?延伸 T >发电机) 此方法使用提供的生成器函数计算每个元素,并行设置指定数组的所有元素。

parallelSetAll 的示例()

在这个例子中,我们有一个从 0 到 15 的元素数组。我们将这个数组传递给带有IntUnaryOperator 的方法parallelSetAll ,该方法定义了将对数组元素执行什么操作。当我们想要以特定的模式改变数组的单个元素时,这种方法非常有用。例如,存储学生身高的数组,现在我们想用英尺来表示。为此我们可以建造IntUnaryOperator

import java.util.Arrays;
import java.util.function.IntUnaryOperator;
class StudyTonight { 
    public static void main(String args[]) 
    { 
        int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};        
        IntUnaryOperator op = n-> 
        { 
            if (n % 2 == 0) 
                return n * n; 
            else
                return n; 
        }; 
        Arrays.parallelSetAll(arr, op); 

        for(int num:arr)
        {
            System.out.print(num+" ");
        }
    } 
}

0 1 4 3 16 5 36 7 64 9 100 11 144 13 196 15

parallelSetAll()的所有重载方法示例

在这个例子中,我们实现了parallelSetAll()方法的所有重载()方法。这个方法和 SetAll() 方法很像。这个例子说明了IntUnaryOperator, IntToLongFunction, IntToDoubleFunction.

import java.util.Arrays;
public class StudyTonight 
{
    public static void main(String[] args) 
    {
        //Example of static void parallelSetAll(int[] array, IntUnaryOperator generator)
        int array1[] = new int[10];
        Arrays.parallelSetAll(array1, (index)-> index+index);
        System.out.println(Arrays.toString(array1));

        //Example of static void parallelSetAll(long[] array, IntToLongFunction generator)
        long array2[] = new long[10];
        Arrays.parallelSetAll(array2, (index)-> index+index);
        System.out.println(Arrays.toString(array2));

        //Example of static void parallelSetAll(double[] array, IntToDoubleFunction generator)
        double array3[] = new double[10];
        Arrays.parallelSetAll(array3, (index)-> index+index);
        System.out.println(Arrays.toString(array3));
    }
}

【0、1、4、9、16、25、36、49、64、81】 【0、1、4、9、16、25、36、49、64、81】 【0.0、1.0、4.0、9.0、16.0、25.0、36.0、49.0、64.0、81.0】

结论:

在本教程中,我们学习了如何使用 parallelSetAll()方法以特定的方式单独更改数组元素。此方法还会重载一些变体,以提供对所有类型的数组执行操作的灵活性。