首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 多維陣列基礎完整指南:宣告、初始化、存取與長度計算

     編輯:Java 相關知識

什麼是多維陣列?

多維陣列指二維及以上陣列。二維陣列有兩個層次(行、列),三維有三個層次,以此類推。每個層次對應一個索引。現實中如「班級-座號」、「師-團-營-連-排-班」皆為多層次管理,對應多維陣列概念。

核心理解:陣列的陣列。二維陣列可視為一維陣列,其每個元素又是一維陣列;三維陣列則是元素為二維陣列的一維陣列。邏輯與語法皆支援此觀念。

慣例:二維陣列第一維代表行、第二維代表列,符合直覺。

一、多維陣列語法(以二維為例)

1. 宣告語法(三種等價寫法)

int[][] map;        // 推薦:型別後置雙括號
char c[][];         // 型別後單括號、變數後單括號
int board[][];      // 變數後雙括號

三維需三對括號,位置同理。宣告後記憶體尚未配置實際儲存空間。

2. 初始化

(1)靜態初始化(定義時直接給值)

int[][] m = {
    {1, 2, 3},
    {2, 3, 4}
};

內層大括號即一維陣列初始化,外層組合多個一維陣列。三維範例:

int[][][] b = {
    { {1,2,3}, {1,2,3} },
    { {3,4,1}, {2,3,4} }
};

(2)動態初始化(指定長度,元素為預設值)

// 固定第二維長度
byte[][] b = new byte[2][3];
int[][] m = new int[4][4];

若第二維長度不一,分步初始化:

int[][] n = new int[2][]; // 只配置第一維
n[0] = new int[4];        // 獨立配置 n[0]
n[1] = new int[3];        // 獨立配置 n[1]

此寫法完美體現「陣列的陣列」:先配置容器陣列,再逐一配置元素陣列。

3. 存取元素

格式:arrayName[第一維索引][第二維索引]。索引範圍:0 ~ length-1。

4. 取得長度

array.length 僅回傳第一維長度。計算總元素數需迭代累加:

int[][] m = { {1,2,3,1}, {1,3}, {3,4,2} };
int sum = 0;
for (int i = 0; i < m.length; i++) {
    sum += m[i].length; // 累加每行長度
}
// sum = 4 + 2 + 3 = 9

此技巧同樣適用於不規則陣列(Jagged Array)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved