int[]、double[] 等代價:長度不可變,創建即固定。
length 字段(非方法)表示容量Java 無真正多維數組,int[][] 是「數組的數組」,每行長度可不同(不規則數組)。
int[][] triangle = new int[5][]; for (int i = 0; i < triangle.length; i++) triangle[i] = new int[i + 1];
new List<String>[10] 編譯報錯List<String>[] arr = (List<String>[]) new List[10];(非受檢轉換,有堆污染風險)| 方法 | 用途 |
|---|---|
equals() | 比較兩數組長度與對應元素皆相等 |
fill() | 填充指定值 |
sort() | 基本類型雙軸快排、對象穩定歸併排序 |
binarySearch() | 有序數組二分查找,無序結果不可預測 |
toString()/deepToString() | 可讀性輸出,支援多維 |
hashCode() | 計算數組哈希碼 |
System.arraycopyArrays.sort(arr, comparator) 注入比較策略interface Generator<T> { T next(); }
class CountingGenerator implements Generator<Integer> { ... }
Arrays.fill(arr, gen.next()); // 僅能填充單值,靈活性有限
// 推薦:for 循環調用 gen.next() 填充
數組是 Java 性能基石,但長度固定、泛型不兼容。日常開發優先選 ArrayList,僅在性能極敏感、長度固定、存基本類型時直接用數組。