陣列就陣列怎麼還有不規則陣列呢?一維陣列就一排沒什麼大問題,但是!二維以上的多維陣列不知道有沒有發現大家的長度都是一致的?用三維來說組合起來的箱子不是四邊形,就是長(正)方體,那麼不規則陣列組合起來就不一定是完整的長(正)方體了,可能就會出現東缺一腳、西缺一角的情形發生,我們用三維的圖形來表示:
在程式中的語法就是:
資料型別[][] 陣列名稱 = new 資料型別[陣列大小][];
用例子說明:
第一層我要三個箱子,後面需要的時候再放,此時就可以寫:
Int[][] box = new int[3][];
若知道這三個後面要放多少箱子,那麼就可以再個別去建立陣列的大小:
box[0]= new int[5]; //代表box[0]陣列中建立5個空位
box[1]= new int[3]; //代表box[1]陣列中建立3個空位
box[2]= new int[6]; //代表box[2]陣列中建立6個空位
若要給予初值呢?就可以這樣寫:
int[][] box = { new[]{5,7,9,11,13} , new[]{11,22,33} , new[]{6,12,18,24,30,36} };
這樣可以知道什麼是規則與不規則陣列了吧!
「規則陣列」就是一開始設定的每一維度多少大小(空位),電腦就會乖乖地幫我們建立好四四方方的樣子,若遇到沒有值的狀況到時候就要用"0"來補齊位置。
「不規則陣列」就是一開始不用把每一維度設定好,只設定第一維度大小即可,後面再依序去建立想要的大小(空位即可)。
這樣看下來「不規則陣列」是比較省(記憶體)空間的哦~
因為只需要建立需要的大小就好,不用都建好建滿,沒用到的還要再去填補0上去。