如何在 Java 中列印數組的內容
1. 概述
在 Java 中,陣列是一種靜態資料結構,它將相同類型的元素儲存在連續的記憶體位置中。這種安排確保元素按順序儲存在記憶體中,並且可以使用它們的索引直接存取。
但是,在 Java 中,如果我們嘗試直接列印數組對象,它不會列印數組的內容,而是列印包含數組類型及其記憶體引用的字串。因此,要顯示陣列的元素,我們可以使用Arrays.toString()
、 Stream.forEach()
、 Arrays.deepToString()
等方法,或iterate through the arrays using loops
。
在本教程中,我們將討論在 Java 中列印單維或多維數組內容的幾種方法。
2. 用Java列印陣列的內容
Java 提供了多種方法來顯示一維數組的元素。這些方法包括loops
、 Arrays.toString()
、 stream.forEach()
和Arrays.asList()
。
2.1.使用for
循環
循環是遍歷數組等可迭代物件的最便捷方式。我們可以在for
迴圈中使用print()
方法來迭代數組並在控制台上列印其元素:
String[] empArray = {"Anees", "Peter", "Asghar", "Joseph", "Alex"};
for (int i = 0; i < empArray.length; i++) {
System.out.print(empArray[i] + " ");
}
在本例中,我們定義了一個字串類型陣列empArray,
並以五個員工姓名對其進行初始化。此外,我們使用for loop
迭代整個數組並使用print()
方法列印其內容:
Anees Peter Asghar Joseph Alex
總的來說,這是列印數組元素的最簡單方法,不需要任何額外的庫或功能。
2.2.使用for-each
循環
在 Java 中,我們可以使用for-each
或enhanced for loop
直接迭代每個陣列元素。在這個循環中,我們可以使用print()
或println()
方法來列印陣列的元素:
String[] empArray = {"Anees", "Peter", "Asghar", "Joseph", "Alex"};
for (String arr : empArray) {
System.out.println(arr);
}
輸出顯示for-each
循環一一處理數組的每個元素,然後使用println()
方法在新行上列印每個元素:
Anees
Peter
Asghar
Joseph
Alex
此方法提供了一種簡單、可讀的方式來迭代數組和集合,同時減少錯誤並確保類型安全。
2.3.使用Arrays.toString()
Java Arrays 類別提供了一個名為toString()
的靜態方法,可用來列印陣列內容。我們可以將原始類型的陣列傳遞給此方法並取得陣列元素的字串表示形式。此外,可以使用print()
或println()
等方法輕鬆列印此字串表示形式:
int[] empIDs = {10, 12, 13, 15, 17};
String strIDs = Arrays.toString(empIDs);
System.out.println(strIDs);
在這裡,我們使用Arrays.toString()
方法將empIDs
陣列轉換為字串,然後使用println()
方法列印它:
[10, 12, 13, 15, 17]
此方法提供了一種使用最少程式碼的簡潔方法,非常適合快速偵錯或需要緊湊的輸出格式時。
2.4.使用Stream.forEach()
在Java 8及更高版本中,我們可以使用Arrays.stream()
方法將給定的陣列轉換為流,然後使用Stream API的forEach()
方法遍歷並列印陣列的內容:
String[] empArray = {"Anees", "Peter", "Asghar", "Joseph", "Alex"};
Arrays.stream(empArray).forEach(System.out::println);
我們將empArray
數組轉換為流,並使用System.out.println()
方法將每個數組元素列印到控制台:
Anees
Peter
Asghar
Joseph
Alex
總而言之,這種方法提供了簡潔易讀的程式碼,具有函數式程式設計的優點。
2.5.使用Arrays.asList()
Java 的 Arrays 類別提供了一個名為Arrays.asList()
的靜態方法,該方法將任何數組轉換為由給定數組支援的固定大小列表。但是,如果我們更改轉換後的列表,它會影響數組,反之亦然,但我們無法調整列表的大小。可以使用print()
或println()
方法輕鬆列印轉換後的清單:
String[] empArray = {"Anees", "Peter", "Asghar", "Joseph", "Alex"};
System.out.println(Arrays.asList(empArray));
這次,我們將Arrays.asList()
方法包裝在println()
方法中,以在控制台上列印數組的內容:
[Anees, Peter, Asghar, Joseph, Alex]
此方法的效能開銷最小,因為它不會建立新集合。
2.6。使用String.join()
Java 的String
類別提供了join()
方法,該方法傳回與特定分隔符號組合的字串。我們也可以使用此方法將陣列內容列印為字串,並使用給定的分隔符號分隔每個元素:
String[] empArray = {"Anees", "Peter", "Asghar", "Joseph", "Alex"};
String outputString = String.join(", ", empArray);
System.out.println(outputString);
在這裡,我們使用join()
方法將empArray
的元素組合為一個字串,每個元素用逗號分隔,後面跟著一個空格。最後,我們使用println()
方法在控制台上列印傳回的字串:
Anees, Peter, Asghar, Joseph, Alex
String.join()
方法對於列印陣列元素非常有效。它創建帶有指定分隔符的單一字串。因此,它避免了對循環或額外資料結構的需求。
3. Java中列印多維數組的內容
多維數組是數組的數組,其中每個元素本身就是一個數組。我們可以使用多種方法在 Java 中列印多維數組,例如Nested Loops
、 Arrays.deepToString()
、 Java 8 Streams
或Arrays.toString()
。
4. 結論
Java 支援多種方法來列印單維或多維數組的內容。在本文中,我們討論了多種方法,如Arrays.toString()
、 Stream.forEach()
、 Arrays.deepToString()
、 loops
等,來列印陣列的內容。然而,方法的選擇取決於使用者的需求,因為循環在簡單性和效率之間提供了良好的平衡,而其他方法則提供了更簡潔的解決方案。與往常一樣,完整的範例程式碼可以在 GitHub 上找到。