Arrays.fill
是 Java 标准库中的一个方法,用于将数组中的所有元素设置为指定的值。它可以用于一维数组以及多维数组的填充。这个方法非常有用,当你需要快速初始化或重置数组时。
方法签名
// 用于填充一维数组
public static void fill(int[] a, int val);
// 用于填充指定范围内的一维数组
public static void fill(int[] a, int fromIndex, int toIndex, int val);
// 其他基本数据类型类似,如 byte[], short[], char[], long[], float[], double[], boolean[] 等
// 用于填充对象数组
public static void fill(Object[] a, Object val);
// 用于填充指定范围内的对象数组
public static void fill(Object[] a, int fromIndex, int toIndex, Object val);
参数说明
a
:需要填充的数组。val
:填充的值。fromIndex
:开始填充的起始索引(包括这个索引)。toIndex
:结束填充的索引(不包括这个索引)。
示例代码
填充一维数组
import java.util.Arrays;
public class ArraysFillExample {
public static void main(String[] args) {
// 创建一个长度为 10 的整型数组
int[] numbers = new int[10];
// 使用 Arrays.fill 将所有元素填充为 5
Arrays.fill(numbers, 5);
// 输出填充后的数组
System.out.println("Filled array: " + Arrays.toString(numbers));
}
}
填充部分一维数组
import java.util.Arrays;
public class ArraysFillPartialExample {
public static void main(String[] args) {
// 创建一个长度为 10 的整型数组
int[] numbers = new int[10];
// 将数组的第3到第7个元素(从索引2到6)填充为8
Arrays.fill(numbers, 2, 7, 8);
// 输出填充后的数组
System.out.println("Partially filled array: " + Arrays.toString(numbers));
}
}
填充对象数组
import java.util.Arrays;
public class ArraysFillObjectExample {
public static void main(String[] args) {
// 创建一个长度为 5 的字符串数组
String[] names = new String[5];
// 使用 Arrays.fill 将所有元素填充为 "Java"
Arrays.fill(names, "Java");
// 输出填充后的数组
System.out.println("Filled array: " + Arrays.toString(names));
}
}
注意事项
- 对于引用类型(如对象数组),
Arrays.fill
会填充同一个引用对象到数组的每一个位置。如果你需要每个位置都是不同的对象实例,则需要手动创建实例并赋值。 fromIndex
和toIndex
必须在有效的范围内,否则会抛出ArrayIndexOutOfBoundsException
。
4o