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

Java 陣列完整指南:宣告、初始化、多維陣列與操作技巧

     編輯:Java 相關知識

Java 陣列核心概念

陣列是固定大小、同質型別的資料結構,提供索引式隨機存取。掌握宣告、初始化、多維陣列與常見操作,是資料處理基礎。

1. 陣列宣告語法

// 推薦風格:型別[] 變數名
int[] numbers;
String[] names;
double[][] matrix;

// 兼容 C 風格(不推薦)
int numbers[];

2. 陣列建立與初始化

動態分配(指定長度)

int[] scores = new int[10];        // 10 個 int,預設值 0
String[] cities = new String[5];   // 5 個 String,預設值 null
double[][] grid = new double[3][4]; // 3x4 矩陣

靜態初始化(大括號語法)

int[] primes = {2, 3, 5, 7, 11};
String[] weekDays = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
int[][] identity = {{1,0,0}, {0,1,0}, {0,0,1}};

匿名陣列建立

new int[]{1, 2, 3} // 可直接傳遞給方法
method(new String[]{"A", "B"});

3. 陣列存取與長度

  • 索引從 0 開始,到 length - 1 結束。
  • length 是欄位而非方法,無括號:arr.length。
  • 越界拋 ArrayIndexOutOfBoundsException。

4. 多維陣列深度解析

Java 多維陣列本質是「陣列的陣列」,每一維長度可不同(鋸齒陣列):

int[][] jagged = new int[3][];
jagged[0] = new int[2];
jagged[1] = new int[5];
jagged[2] = new int[3];

存取:jagged[1][2] → 第 2 列第 3 行元素。

5. 陣列常見操作

操作方法/語法說明
複製Arrays.copyOf(arr, newLen)調整大小複製
範圍複製Arrays.copyOfRange(arr, from, to)複製子區間
排序Arrays.sort(arr)原地排序(雙軸快排/歸併)
二分搜尋Arrays.binarySearch(arr, key)需先排序
填充Arrays.fill(arr, value)設定所有元素
比較Arrays.equals(arr1, arr2)內容相等判斷
轉字串Arrays.toString(arr)除錯輸出友善格式
平行排序Arrays.parallelSort(arr)Java 8+ 多核加速

6. 進階技巧

  • 陣列轉 List:List list = Arrays.asList(arr)(回傳固定大小清單)。
  • 基本型別陣列無法直接用泛型:List ❌,用 IntStream.of(arr).boxed().collect(...)。
  • 陣列為物件:繼承 Object,可序列化、同步化。
  • 記憶體連續:單維基本型別陣列記憶體連續,快取友善。

7. 最佳實務

  1. 優先使用 List/Set 等集合框架,彈性更大。
  2. 效能敏感、大小固定、基本型別大量運算時用陣列。
  3. 宣告時指定明確型別,避免 Object[] 造成型別不安全。
  4. 防禦性複製:公開方法回傳陣列前先 copyOf,避免外部竄改內部狀態。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved