0

我有一个大的二维数组:

int[][] matrix = new int[10000][1000];

程序需要经常使用:

Arrays.fill(int[] a, int fromIndex, int toIndex, int val);

但有时它需要填充一行,有时需要填充一列。例如,我可以从 10 到末尾用 1 填充 200 行:

Arrays.fill(matrix[200], 10, 1000, 1);

但是如何在没有 的情况下填充一列for()?是否有一种数据结构允许以与速度相媲美的速度执行这两种操作Arrays.fill()

4

1 回答 1

4

如果您查看源代码(在下面复制),Arrays.fill()您会发现它只是一个 for 循环。

public static void fill(int[] a, int fromIndex, int toIndex, int val) {
    rangeCheck(a.length, fromIndex, toIndex);
    for (int i=fromIndex; i<toIndex; i++)
        a[i] = val;
}

因此,编写一个 for 循环来填充数组的列将与Arrays.fill()提供给您的代码相同。

于 2013-06-01T00:30:00.800 回答