Java中的二维数组

时间:2020-02-23 14:37:28  来源:igfitidea点击:

今天,我们将研究Java中的二维数组。
数组就像可以容纳一定数量值的容器。

Java中的二维数组

让我们看一些定义Java二维数组或者2d数组的示例。

基本类型的Java二维数组

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

Java二维对象数组

String[][] arrStr = new String[3][4];
for (int i = 0; i < arrStr.length; i++) {
	for (int j = 0; j < arrStr[i].length; j++) {
		arrStr[i][j] = "Str" + j;
		System.out.print(arrStr[i][j] + " ");
	}
	System.out.println("");
}

因此,我们可以定义原始数据类型和对象的二维数组。
如果看上面的例子,二维数组看起来像矩阵,就像下面的图像。

但是,在Java中,没有二维数组的概念。
Java中的二维数组只是数组的数组。
因此,下面的图像在Java中正确定义了二维数组结构。

Java多维数组示例

现在,如果java中的二维数组是一个数组数组,那么它也应该支持非对称大小,如下图所示。

嗯,在Java中绝对没问题。
下面是描述上述多维数组的示例程序。

public class MultidimensionalArrayExample {

	public static void main(String[] args) {

		//creating and initializing two dimensional array with shortcut syntax
		int[][] arrInt = { { 1, 2 }, { 3, 4, 5 } };
		for (int i = 0; i < arrInt.length; i++) {
			for (int j = 0; j < arrInt[i].length; j++) {
				System.out.print(arrInt[i][j] + " ");
			}
			System.out.println("");
		}

		//showing multidimensional arrays initializing
		int[][] arrMulti = new int[2][]; //yes it's valid

		arrMulti[0] = new int[2];
		arrMulti[1] = new int[3];

		arrMulti[0][0] = 1;
		arrMulti[0][1] = 2;
		arrMulti[1][0] = 3;
		arrMulti[1][1] = 4;
		arrMulti[1][2] = 5;
		for (int i = 0; i < arrInt.length; i++) {
			for (int j = 0; j < arrInt[i].length; j++) {
				System.out.print(arrInt[i][j] + " ");
			}
			System.out.println("");
		}
	}
}

如果我们运行上面的程序,它将产生以下输出。

1 2 
3 4 5 
1 2 
3 4 5