嵌套数组
要注意多維數(shù)組和嵌套數(shù)組二者之間的區(qū)別,嵌套數(shù)組也叫數(shù)組的數(shù)組,或者交錯數(shù)組。通過以下方式來聲明變量:
int[3][2] arr;就是數(shù)組中的每個元素也是數(shù)組,也就是數(shù)組里面也包含數(shù)組。如:
//嵌套數(shù)組char[][] ccs = new char[][]{new char[]{'a','b'},new char[]{'c','d'},new char[]{'e','f','g'}};在上面的代碼中,聲明了一個嵌套數(shù)組,該數(shù)組從外到內(nèi)有兩層,最外層包含三個元素,而每個元素又是一個char數(shù)組。第一個char數(shù)組包含兩個元素,第二個char數(shù)組也包含了兩個元素,第三個char數(shù)組則包含了三個元素。
嵌套數(shù)組要比多維數(shù)組復雜,它是從外向內(nèi)一層一層地進行嵌套。其實我們在聲明嵌套數(shù)組時,可以通過中括號的對數(shù)來確定嵌套數(shù)組所包含的層數(shù)。例如,int[][]表示該數(shù)組包含兩個層數(shù)組,int[][][]則表示其中包含三層數(shù)組。
下面用一個示例來演示一個三層嵌套的數(shù)組,嵌套數(shù)組變量的聲明如下:
該數(shù)組有三個層次(int[][][]),第一層有三個元素,每個元素又是一個兩層嵌套的數(shù)組(int[][]);然后第二層中每個元素又是一個數(shù)組(int[]);到了第三層才是單個int數(shù)值。
然后,把這個嵌套數(shù)組的所有元素輸出到屏幕。
輸出如下:
Int32[][][]Int32[][]Int32[]20 32 2 Int32[]1 11 29 6 Int32[][]Int32[]27 26 17 Int32[]199 Int32[][]Int32[]40 74 81 Int32[]120 95其實,嵌套數(shù)組的結(jié)構(gòu)有些類似于Windows操作系統(tǒng)中的文件目錄結(jié)構(gòu),把嵌套數(shù)組的層次與系統(tǒng)中的文件夾層次作類比。從外向內(nèi)層層嵌套,而最后一層便是數(shù)組中的單個元素,類似于文件夾內(nèi)部的單個文件。在實際開發(fā)過程中很少會使用嵌套數(shù)組,也不建議使用,如果對嵌套數(shù)組的層次結(jié)構(gòu)理解不清楚的話,很容易造成不必要的錯誤;況且,為了方便他人閱讀代碼,也不宜將數(shù)組結(jié)構(gòu)定義得過于復雜。
可查看另一篇博客:鋸齒數(shù)組
總結(jié)
- 上一篇: python兔子生兔子_Python兔子
- 下一篇: Scss中的嵌套规则