陣列

陣列 在 Java

24 個練習

關於 陣列

在 Java 中,陣列是一種把多個同型別的值存放在單一結構裡的方式。 和其他資料結構不同,陣列一旦建立,大小就固定不變。 你可以用索引把元素指定到陣列中,或從陣列取出元素。 Java 陣列使用從 0 開始的索引:第一個元素的索引是 0,第二個元素的索引是 1,依此類推。

以下是初始化陣列的標準語法:

type[] variableName = new type[size];

type 是陣列中元素的型別,可以是基本型別(例如 int)或類別(例如 String)。

size 是這個陣列能容納的元素數量(之後無法更改)。 陣列建立之後,元素會初始化為預設值(通常是 0、false 或 null)。

// Declare array with explicit size (size is 2)
int[] twoInts = new int[2];

陣列也可以用簡寫語法來定義,讓你在建立陣列的同時設定它的值:

// Two equivalent ways to declare and initialize an array (size is 3)
int[] threeIntsV1 = new int[] { 4, 9, 7 };
int[] threeIntsV2 = { 4, 9, 7 };

由於編譯器現在能判斷陣列會有多少個元素,長度可以省略。

陣列元素可以用方括號索引標記來指定和存取:

// Assign second element by index
twoInts[1] = 8;

// Retrieve the second element by index and assign to the int element
int secondElement = twoInts[1];

存取超出陣列有效索引範圍的索引會導致 IndexOutOfBoundsException。

陣列可以透過呼叫陣列實例的方法或屬性來操作,也可以使用 Arrays 類別中定義的靜態方法(通常只用於泛型程式碼)。 length 屬性保存陣列的長度。 可以像這樣存取:

int arrayLength = someArray.length;

Java 也提供一個實用的工具類別 java.util.Arrays,裡面有許多處理陣列的好用方法(例如 Arrays.equals)。

Java 也支援多維陣列,例如 int[][] arr = new int[3][4];,這非常實用。

陣列同時也是一種_集合_,這表示除了用索引存取值之外,你還可以用 for-each 迴圈疊代它的_所有_值:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for(char vowel: vowels) {
    // Output the vowel
    System.out.print(vowel);
}

// => aeiou

如果你想更精確地控制要疊代哪些值,可以使用 for 迴圈:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for (int i = 0; i < 3; i++) {
    // Output the vowel
    System.out.print(vowels[i]);
}

// => aei
透過 GitHub 編輯 連結會在新視窗或分頁中開啟

學習 陣列