Java 中的二维数组是对一维数组的扩展,可以被视作一个数组的数组。
1.定义二维数组
// 定义一个二维数组
int[][] array;
也可以再定义时初始化二维数组
// 定义并初始化一个 3x4 的二维数组
int[][] array = new int[3][4];
2.初始化二维数组
2.1 静态初始化
如果在定义时已知数组的所有值,可以使用静态初始化
int[][] array = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
2.2 动态初始化
可以动态地为二维数组的每一行分配不同长度的数组
int[][] array = new int[3][];
array[0] = new int[2];
array[1] = new int[4];
array[2] = new int[3];
3.访问二维数组元素
可以通过两个索引来访问二维数组中的元素
int value = array[1][2]; // 访问第二行第三列的元素
4.遍历二维数组
可以使用嵌套的 for
循环来遍历二维数组
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
5.多维数组
Java 中的二维数组可以扩展为多维数组,如三维数组、四维数组等。定义和访问方法类似
// 定义一个三维数组
int[][][] array = new int[3][4][5];
6.动态创建和填充二维数组
你可以在运行时创建和填充二维数组
int rows = 3;
int cols = 4;
int[][] array = new int[rows][cols];
// 填充数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
array[i][j] = i * j; // 示例填充值
}
}
7.使用arrays类的工具方法
Java 的 Arrays
类提供了一些有用的方法来处理数组,但它们通常用于一维数组。对于二维数组,你可以通过循环调用这些方法来进行处理。
8.传递二维数组到方法
你可以将二维数组作为参数传递给方法
public void printArray(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
9.特点和注意事项
- 数组大小:Java 中的数组是固定大小的,创建后不能更改其长度。
- 内存:二维数组的内存布局是一种“稀疏”方式,实际的存储可能不连续。