java中的二维数组允许各行的元素个数不一样吗?
在Java中只有一维数组。二维数组本质上也是一维数组,只是数组中的每一个元素都指向了另一个一维数组而已。因此各位的个数可以不一样。其实java中没有所谓的二维数组,二维数组中在java中具体应该是一个数组的每个元素还是数组,至于作为元素的这个数组的长度是没有任何限制的。
如果我在程序里面写上这么一句:int [] [] apples= new int [2] [3];
int [] [] apples是声明一个对象,类型为二维数组,对象名为apples, [][]里面不能有数字, 有多少个[]就表明它是个多少维的数组(这里就是二维).
= new int[2][3]; 的意思是给apples赋值,这里就是2行3列.你可以想象 你将苹果排列成两行三列,那么每个苹果就对应apples里面的每个元素,而苹果的整体就是apples。
java中的二维数组允许各行的元素个数不一样。
实际上,在Java中只有一维数组。二维数组本质上也是一维数组,只是数组中的每一个元素都指向了另一个一维数组而已。因此各位的个数可以不一样。其实java中没有所谓的二维数组,二维数组中在java中具体应该是一个数组的每个元素还是数组,至于作为元素的这个数组的长度是没有任何限制的。
如果我在程序里面写上这么一句:int [] [] apples= new int [2] [3];
int apples是声明一个对象,类型为二维数组,对象名为apples, [][]里面不能有数字, 有多少个[]就表明它是个多少维的数组(这里就是二维)。
= new int[2][3]; 的意思是给apples赋值,这里就是2行3列.你可以想象 你将苹果排列成两行三列,那么每个苹果就对应apples里面的每个元素,而苹果的整体就是apples。
举例:
java的数组定义是在数组中放数组
比如这样
int [2][]i 这样一个数组其实和
int[2] i ;
i[0]=new int[2];
i[1]=new int[10];
i[2]=new int[5];
是完全等价的