多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:
String str[][] = new String[3][4];
二维数组为例
二维数组的声明、初始化和引用与一维数组相似:
示例代码:
int[][] arrayA=new int[][]{{1,2},{3,4},{5,6}};
int[][] arrayB=new int[2][2];
arrayB[0][0]=0;
arrayB[0][1]=1;
arrayB[1][0]=2;
arrayB[1][1]=3;
注意:Java语言中,把二维数组看作是数组的数组,数组空间不是连续分配的。所以不要求二维数组每一维的大小相同。
int[][] arrayC=new int[][]{{1},{2,3},{4,5,6},{7,8,9,10}};
int[][] arrayD=new int[3][];
arrayD[0]=new int[]{1};
arrayD[1]=new int[]{2,3};
arrayD[2]=new int[]{4,5,6};
1. 直接为每一维分配空间,格式如下:
type[][] typeName = new type[typeLength1][typeLength2];
解析:
二维数组 a 可以看成一个两行三列的数组。
2. 从最高维开始,分别为每一维分配空间,例如:
String s[][] = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");
解析:
s[0]=new String[2] 和 s[1]=new String[3] 是为最高维分配引用空间,也就是为最高维限制其能保存数据的最长的长度,然后再为其每个数组元素单独分配空间 s0=new String("Good") 等操作。
多维数组的引用(以二维数组为例)
对二维数组中的每个元素,引用方式为 arrayName[index1][index2],例如:
num[1][0];