18.7 交错数组

交错数组是数组的数组,交错数组具有如下特性:

❑交错数组由顶级数组和子数组组成。

❑顶级数组是一个一维数组。

❑顶级数组的每个元素都是一个子数组。

❑子数组的维度和长度可以不同。

❑子数组的类型和顶级数组必须相同,即顶级数组是int类型,那么子数组也必须是int类型。

❑子数组的维度可以和顶级数组不同,即子数组可以是多维数组,甚至可以是交错数组。

我们来看一个交错数组的例子array,它有5个元素,这5个元素分别是5个长度不同的子数组,例如:


int[][]array=new int[5][];


图18-13展示了array数组在内存中的布局。

18.7 交错数组 - 图1

图 18-13 交错数组

18.7.1 交错数组的声明

交错数组虽然和矩形数组同属多维数组,但声明方式是不一样的,矩形数组无论多少维度都使用一对方括号,方括号内使用逗号表示维度数,但交错数组要求多少维度就有多少对方括号。例如:


int[][]array1;//维度数=2

string[][][]array2;//维度数=3


上述两个数组中,array1数组的子数组是一个int类型的一维数组,array2数组的子数组是一个string类型的二维交错数组,如图18-14所示。

18.7 交错数组 - 图2

图 18-14 交错数组的声明解析