多维数组

多维数组

在Java中,多维数组是指数组的元素也是数组的情况。最常见的多维数组是一维数组的元素本身就是一维数组,这样的数组称为二维数组。例如,一个二维数组可以用来表示矩阵。

声明多维数组

声明多维数组的方式类似于声明一维数组,但是需要为每一层维度添加一对方括号。例如,声明一个二维整数数组如下所示:

int[][] matrix;

这里 matrix 是一个二维数组,它的每个元素都是一个一维整数数组。

创建和初始化多维数组

创建多维数组时,你需要指定每个维度的大小,并分配内存空间。有几种不同的方式可以创建和初始化多维数组:

1. 显式指定每个维度的大小

int rows = 3;
int cols = 4;
int[][] matrix = new int[rows][cols];

2. 初始化时指定大小

int[][] matrix = new int[3][4];

3. 使用初始值列表初始化

int[][] matrix = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

访问和修改多维数组元素

访问和修改多维数组中的元素与访问一维数组类似,只需要指定每一层的索引即可。例如:

// 访问和修改元素
matrix[0][1] = 100; // 设置第一行第二列的元素为100
int value = matrix[1][2]; // 获取第二行第三列的元素

遍历多维数组

遍历多维数组通常需要嵌套循环。例如,遍历上面的二维数组可以这样写:

for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
    }
    System.out.println();
}

不规则数组

Java中的多维数组也可以是不规则的,这意味着数组的每一行可以有不同的长度。例如:

int[][] irregularMatrix = new int[3][];
irregularMatrix[0] = new int[2];
irregularMatrix[1] = new int[4];
irregularMatrix[2] = new int[3];

// 填充数组
irregularMatrix[0][0] = 1;
irregularMatrix[0][1] = 2;
irregularMatrix[1][0] = 3;
irregularMatrix[1][1] = 4;
irregularMatrix[1][2] = 5;
irregularMatrix[1][3] = 6;
irregularMatrix[2][0] = 7;
irregularMatrix[2][1] = 8;
irregularMatrix[2][2] = 9;

遍历这种不规则数组时需要注意每一行的长度可能不同:

for (int i = 0; i < irregularMatrix.length; i++) {
    for (int j = 0; j < irregularMatrix[i].length; j++) {
        System.out.print(irregularMatrix[i][j] + " ");
    }
    System.out.println();
}
posted @ 2024-08-02 10:46  魄罗  阅读(39)  评论(0)    收藏  举报