锯齿状数组的顺序填充。这段代码是如何工作的?

Sequential filling of a jagged array. How does this code work?

我正在研究锯齿状阵列的解决方案之一,但无法遵循以下几行。任何人都可以帮助我了解如何在这里使用 count 的线下内容。我确实了解 Java 的基础知识,但不明白为什么在这里使用计数。

在 Java 中演示二维锯齿状数组的程序:

int arr[][] = new int[2][];
// Making the above array Jagged
// First row has 3 columns
arr[0] = new int[3];
// Second row has 2 columns
arr[1] = new int[2];
// Initializing array
int count = 0;//why do we need count 
for (int i = 0; i < arr.length; i++)
    for (int j = 0; j < arr[i].length; j++)
        arr[i][j] = count++; //how this line of code will work

您可以向此代码添加输出。需要 count 变量来依次用 0 中的整数填充数组,依此类推。

int[][] arr = new int[2][];
arr[0] = new int[3];
arr[1] = new int[2];
int count = 0;
// iterate through the rows of the array
for (int i = 0; i < arr.length; i++)
    // iterate through the columns of the array
    for (int j = 0; j < arr[i].length; j++)
        // set the array element and increment the counter
        arr[i][j] = count++;

// output
for (int[] row : arr) System.out.println(Arrays.toString(row));

输出:

[0, 1, 2]
[3, 4]