java.util.Arrays.setAll() 方法用于设置指定数组的所有元素,使用提供的生成器函数来计算每个元素。如果生成器函数抛出异常,则会将其转发给调用者,并且数组将处于不确定状态。
语法
public static <T> void setAll(T[] array,
IntFunction<? extends T> generator)
这里,T 是数组中元素的类型
参数
array | 指定要初始化的数组。 |
生成器 | 指定一个接受索引并为该位置生成所需值的函数。 |
返回值
void类型。
异常
如果生成器为null,则抛出NullPointerException。
示例:
在下面的示例中,使用 java.util.Arrays.setAll() 方法设置所有元素使用给定的生成器函数生成给定的数组。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//创建一个Double数组
Double Arr[] = {1d, 2d, 3d, 4d, 5d};
//打印数组
System.out.print("Arr contains:");
for(Double i: Arr)
System.out.print(" " + i);
//将数组所有元素设置为正方形
//自身使用生成器函数
Arrays.setAll(Arr, i->{
return Arr[i]*Arr[i];
});
//打印数组
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 4.0 9.0 16.0 25.0