18.7 交错数组
交错数组是数组的数组,交错数组具有如下特性:
❑交错数组由顶级数组和子数组组成。
❑顶级数组是一个一维数组。
❑顶级数组的每个元素都是一个子数组。
❑子数组的维度和长度可以不同。
❑子数组的类型和顶级数组必须相同,即顶级数组是int类型,那么子数组也必须是int类型。
❑子数组的维度可以和顶级数组不同,即子数组可以是多维数组,甚至可以是交错数组。
我们来看一个交错数组的例子array,它有5个元素,这5个元素分别是5个长度不同的子数组,例如:
int[][]array=new int[5][];
图18-13展示了array数组在内存中的布局。
图 18-13 交错数组
18.7.1 交错数组的声明
交错数组虽然和矩形数组同属多维数组,但声明方式是不一样的,矩形数组无论多少维度都使用一对方括号,方括号内使用逗号表示维度数,但交错数组要求多少维度就有多少对方括号。例如:
int[][]array1;//维度数=2
string[][][]array2;//维度数=3
上述两个数组中,array1数组的子数组是一个int类型的一维数组,array2数组的子数组是一个string类型的二维交错数组,如图18-14所示。
图 18-14 交错数组的声明解析