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()
方法以特定的方式单独更改数组元素。此方法还会重载一些变体,以提供对所有类型的数组执行操作的灵活性。