
上QQ阅读APP看书,第一时间看更新
4.2.4 非对称型数组
前面讲的二维数组用的都是矩形数组,也就是数组的第二维度的长度都是一样的,是等行等列的对称结构。但是,Java中还有一种非对称的数组结构,被称为非对称型数组。对称型数组和非对称型数组的结构如图4.6所示。

图4.6 对称型数组和非对称型数组
对称型的3行4列数组有12个元素,但是非对称型数组的元素个数是不确定的。这里,我们定义一个非对称型数组,并进行静态初始化,然后输出第一维元素指向的数组中的最后一个元素,示例代码如下:
int[][] scores = {{1,2,3},{5,6,7,8},{9,10}}; // 用静态初始化的方式定义非对称型数组 System.out.println(scores[0][2]); // 输出第一维下标为0的数组的最后一个元素 System.out.println(scores[1][3]); // 输出第一维下标为1的数组的最后一个元素 System.out.println(scores[2][1]); // 输出第一维下标为2的数组的最后一个元素
在上述示例代码声明的二维数组中,第一维长度是3。但是,第二维长度各不相同,长度分别是3、4、2。因此,第一维元素关联的数组的最后一个元素的下标是各不相同的。