int[] arr = {3, 7, 2, 9, 5};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) max = arr[i];
}
System.out.println("最大值:" + max); // 9
核心思想:假設首元素為最大,單次遍歷比較更新,時間複雜度 O(n),空間 O(1)。
int[] src = {1,2,3,4,5};
int[] dest = new int[3];
System.arraycopy(src, 1, dest, 0, 3); // 從 src[1] 拷貝 3 個到 dest[0]
// dest = {2,3,4}
參數:src, srcPos, dest, destPos, length。原生方法,效能最高。
int[] arr = {1,2,3};
int[] arr2 = Arrays.copyOf(arr, 5); // 長度擴充至 5,新位置補 0 → {1,2,3,0,0}
int[] arr3 = Arrays.copyOfRange(arr, 1, 3); // 區間複製 [1,3) → {2,3}
特點:自動建立新數組,支援擴容、截取、類型轉換,原始數組不變。
Java 數組長度不可變,所謂擴容實為「建立更大新數組 + 拷貝舊資料」。ArrayList 內部即封裝此邏輯(預設 1.5 倍擴容)。手動擴容範例:
int[] oldArr = {1,2,3};
int[] newArr = Arrays.copyOf(oldArr, oldArr.length * 2); // 翻倍擴容
