Java.util.Arrays 类

java.util.Arrays.setAll() 方法用于设置指定数组的所有元素,使用提供的生成器函数来计算每个元素。如果生成器函数抛出异常,则会将其转发给调用者,并且数组将处于不确定状态。

语法

public static void setAll(double[] array,
                          IntToDoubleFunction generator)

参数

数组 指定要初始化的数组。
生成器 指定一个接受索引并为该位置生成所需值的函数。

返回值

void 类型。

异常

如果生成器为 null,则抛出 NullPointerException

示例:

在示例中下面,java.util.Arrays.setAll() 方法用于使用给定的生成器函数设置给定数组的所有元素。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建双精度数组
    double Arr[] = {1, 2, 3, 4, 5};

    //打印数组
    System.out.print("Arr contains:"); 
    for(double i: Arr)
      System.out.print(" " + i);

    //将数组所有元素设置为正方形
    //自身使用生成器函数
    Arrays.setAll(Arr, e->{
      return Arr[e]*Arr[e];
    });

    //打印数组
    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