多维数组
多维数组
在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();
}

浙公网安备 33010602011771号