Java中的Arrays.fill()方法及示例
java.util.Arrays.fill() 方法在java.util.Arrays类中定义。该方法将指定数据类型的值分配给指定数组的指定范围内的每个元素。
语法:
// 将a[]的所有元素设置为”val”
public static void fill (int[] a, int val)
// 将从from_Index(包括)到to_Index(排除)的元素设置为”val”
public static void fill (int[] a, int from_Index, int to_Index, int val)
这个方法不返回任何值。
抛出的异常:
IllegalArgumentException – 如果from_Index > to_Index
ArrayIndexOutOfBoundsException – 如果from_Index <0 或 to_Index >a.length
示例:
我们可以填充整个数组。
// Java程序将给定数组的子数组填充
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int ar[] = {2, 2, 1, 8, 3, 2, 2, 4, 2};
// 将整个数组都设置为特定的值
Arrays.fill(ar, 10);
System.out.println("数组已填满为" +
" 10\n" + Arrays.toString(ar));
}
}
输出:
数组已填满为 10
[10, 10, 10, 10, 10, 10, 10, 10, 10]
我们可以填充部分数组。
//Java程序用给定的值填充一个子数组。
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int ar[] = {2, 2, 2, 2, 2, 2, 2, 2, 2};
// 从索引1到索引4填充。
Arrays.fill(ar, 1, 5, 10);
System.out.println(Arrays.toString(ar));
}
}
输出:
[2, 10, 10, 10, 10, 2, 2, 2, 2]
我们可以填充多维数组
我们可以使用循环填充多维数组。
1)填充2D数组
// Java程序用给定值填充多维数组
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int [][]ar = new int [3][4];
// 将每一行都填充为10。
for (int[] row : ar)
Arrays.fill(row, 10);
System.out.println(Arrays.deepToString(ar));
}
}
输出:
[[10, 10, 10, 10], [10, 10, 10, 10], [10, 10, 10, 10]]
2) 填充3D数组
// Java程序用给定值填充多维数组
import java.util.Arrays;
class GFG {
public static void main(String[] args) {
int[][][] ar = new int[3][4][5];
// 将每一行都填充为-1。
for (int[][] row : ar) {
for (int[] rowColumn : row) {
Arrays.fill(rowColumn, -1);
}
}
System.out.println(Arrays.deepToString(ar));
}
}
输出:
[[[-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1]], [[-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1]], [[-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1], [-1, -1, -1, -1, -1]]]
极客教程