java數組擴增的三種方式
阿新 • • 發佈:2017-05-17
實現 arrays 數組復制 當我 自身 ++ new 復制 log
java數組聲明的時候必須聲明其長度,但當我們想對數組進行擴增的時候該怎麽辦呢?
下面三種方式都可以進行擴增,最後一種也最為方便。
1 /** 2 * 手動循環擴增 3 */ 4 int[] arr = { 1, 2, 3 }; 5 int[] tempArray = new int[arr.length * 2]; 6 for (int i = 0; i < arr.length; i++) { 7 tempArray[i] = arr[i]; 8 }9 //tempArray = { 1, 2, 3, 0, 0, 0 } 10 11 /** 12 * System.arraycopy 13 * 將原有的數組復制到一個新的長度更長的數組裏,以達到擴增的目的 14 */ 15 int[] arr1 = { 1, 2, 3 }; 16 int[] newArray = new int[arr1.length * 2]; 17 System.arraycopy(arr1, 0, newArray, 0, arr.length);18 //newArray = { 1, 2, 3, 0, 0, 0 } 19 20 /** 21 * Arrays.copyOf 22 * 底層實現還是System.arraycopy 23 * 對自身進行擴增 24 */ 25 int[] arr2 = { 1, 2, 3 }; 26 arr2 = Arrays.copyOf(arr2, arr2.length * 2); 27 //arr2 = { 1, 2, 3, 0, 0, 0 }
java數組擴增的三種方式