Java 進階教學 : 多維陣列

Java Road


好的頻道需要你的支持,謝謝你使用Youtube影片的超級感謝功能給我們鼓勵。




好的頻道需要你的支持,謝謝你使用Youtube影片的超級感謝功能給我們鼓勵。


多維陣列是陣列的陣列:二維陣列物件管理一維陣列物件;三維陣列物件管理二維陣列物件;四維陣列物件管理三維陣列物件...。也就是說二維陣列物件儲存一維陣列物件記憶體位址;三維陣列物件儲存二維陣列物件記憶體位址;四維陣列物件儲存三維陣列物件記憶體位址...。


二維陣列
  1. 宣告
  2. 中括號的數量代表維度
    • 宣告參考變數
      • type[][] name;
      • type name[][]; //合法, 不建議
      • type[] name[]; //合法, 不建議
    • 宣告參考變數並建構指定長度的陣列物件
    • type[][] name = new type[一維陣列的數量][每個一維陣列的長度];
      type[][] name = new type[一維陣列的數量][];
    • 宣告參考變數並建構陣列物件並初始化陣列物件
    • type name[][] = {{value, value, .....},{value, value, .....},{value, value, .....}....};
  3. 建構陣列物件
    • new type[一維陣列的數量][每個一維陣列的長度]
    • 第一組中括號指定本二維陣列的長度,也就是要管理的一維陣列的數量。第二組中括號指定每一個一維陣列的長度,也就是每一個一維陣列要管理的值或物件的數量
    • new type[一維陣列的數量][]
    • 建構指定長度的二維陣列物件,先不建構一維陣列物件。
  4. 存取
    • 指派
      • name[index][index] = value;
      • name[index] = 一維陣列;
      • 可以是新建構的陣列,也可以是己存的陣列,長度可以不一樣
    • 取值
      • name[index][index]
      • name[index]
  5. 記憶體配罝
  6. 陣列長度
    • name.length
    • name[index].length
  7. 陣列與迴圈

三維陣列
  1. 宣告
  2. 中括號的數量代表維度
    • 宣告參考變數
      • type[][][] name;
    • 宣告參考變數並建構指定長度的陣列物件
    • type[][][] name = new type[二維陣列的數量][一維陣列的數量][每個一維陣列的長度];
      type[][][] name = new type[二維陣列的數量][一維陣列的數量][];
      type[][][] name = new type[二維陣列的數量][][];
    • 宣告參考變數並建構陣列物件並初始化陣列物件
    • type name[][][] = {
        {{value, value, .....},{value, value, .....},{value, value, .....}....},
        {{value, value, .....},{value, value, .....},{value, value, .....}....},
        .
        .
      };
  3. 建構陣列物件
    • new type[二維陣列的數量][一維陣列的數量][每個一維陣列的長度]
    • new type[二維陣列的數量][一維陣列的數量][]
    • new type[二維陣列的數量][][]
  4. 存取
    • 指派
      • name[index][index][index] = value;
      • name[index][index]= 一維陣列;
      • name[index] = 二維陣列;
      • 可以是新建構的陣列,也可以是己存的陣列,長度可以不一樣
    • 取值
      • name[index][index][index]
      • name[index][index]
      • name[index]

作者 : 許裕永

許老師的回答: