多维度数组

多维度数组


多维度数组(Multidimensional Arrays)在Java中可以视为数组的数组,最常见的是二维数组,但Java也支持更多维度的数组。多维度数组在内存中并不是连续存储的,它们是按行或按列连续的,这取决于数组的布局方式。

声明多维度数组:

javaint[][] twoDimArray; // 声明一个二维数组
int[][][] threeDimArray; // 声明一个三维数组

初始化多维度数组:

javatwoDimArray = new int[3][4]; // 初始化一个3行4列的二维数组
threeDimArray = new int[2][3][2]; // 初始化一个2个三行两列的三维数组

为多维度数组赋值:

java// 为二维数组赋值
for (int i = 0; i < twoDimArray.length; i++) {
    for (int j = 0; j < twoDimArray[i].length; j++) {
        twoDimArray[i][j] = (i * 4) + j; // 示例值,可以是任何计算或值
    }
}

// 为三维数组赋值
for (int i = 0; i < threeDimArray.length; i++) {
    for (int j = 0; j < threeDimArray[i].length; j++) {
        for (int k = 0; k < threeDimArray[i][j].length; k++) {
            threeDimArray[i][j][k] = (i * 6) + (j * 2) + k;
        }
    }
}

遍历多维度数组:

java// 遍历二维数组
for (int i = 0; i < twoDimArray.length; i++) {
    for (int j = 0; j < twoDimArray[i].length; j++) {
        System.out.print(twoDimArray[i][j] + " ");
    }
    System.out.println();
}

// 遍历三维数组
for (int i = 0; i < threeDimArray.length; i++) {
    for (int j = 0; j < threeDimArray[i].length; j++) {
        for (int k = 0; k < threeDimArray[i][j].length; k++) {
            System.out.print(threeDimArray[i][j][k] + " ");
        }
        System.out.println();
    }
}

数组的数组:

多维度数组可以视为数组的数组,例如,二维数组可以看作是许多数组(行)的集合,每个数组(行)又包含了多个元素(列)。

矩形和不规则数组:

  • 矩形数组:所有子数组都具有相同的长度。这是最常见的多维数组形式。
  • 不规则数组:子数组可以具有不同的长度,这种数组在Java中可以通过使用数组的数组来实现,但需要手动管理每个子数组的大小。

示例:

java复制int[][] irregularArray = new int[3][];
irregularArray[0] = new int[2];
irregularArray[1] = new int[5];
irregularArray[2] = new int[3];

// 为不规则数组赋值
for (int i = 0; i < irregularArray.length; i++) {
    for (int j = 0; j < irregularArray[i].length; j++) {
        irregularArray[i][j] = (i * 10) + j;
    }
}

多维度数组在处理矩阵、图像数据、复杂的游戏地图等场景时非常有用。然而,它们的使用比一维数组更为复杂,需要更多的注意力来管理各个维度的边界和大小。

posted @ 2024-07-30 19:03  墨澜  阅读(74)  评论(0编辑  收藏  举报