Java.util.Arrays 类

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