0
A
回答
0
使用System.arraycopy
需要底層硬件的優點在於儘可能有效地執行的陣列副本。
在問題的背景下,您需要撥打System.arraycopy
兩次;例如
int[] dest = new int[10];
int[] src1 = new int[5];
int[] src2 = new int[5];
// Populate source arrays with test data.
for (int i=0; i<5; ++i) {
src1[i] = i;
src2[i] = i + 100;
}
System.arraycopy(src1, 0, dest, 0, src1.length);
System.arraycopy(src2, 0, dest, src1.length, src2.length);
0
如圖所示,您可以使用[System.arraycopy] [1] here。
[1]:http://download.oracle.com/javase/1.4.2/docs/api/java/lang/System.html#arraycopy(java.lang.Object,INT,java.lang.Object中,INT,INT)
5
我的名譽不允許我對亞當斯基的回答發表評論,但在這條線的錯誤:
System.arraycopy(src2, 0, dest, src1.length - 1, src2.length);
隨着src1.length - 1作爲參數傳遞給destPos,則覆蓋從SRC1陣列中複製的最後一個元素。在這種情況下,您將覆蓋索引4上的元素,該索引是數組的第5個元素。
此代碼可能會更容易理解:
int[] array1 = { 1, 2, 3 };
int[] array2 = { 4, 5, 6, 7 };
int[] array3 = new int[ array1.length + array2.length ];
System.arraycopy(array1, 0, array3, 0, array1.length);
System.arraycopy(array2, 0, array3, array1.length, array2.length);
for (int i = 0; i < array3.length; i++) {
System.out.print(array3[i] + ", ");
}
相關問題
- 1. 如何將陣列複製到陣列
- 2. 刪除陣列中的空值並複製到新陣列
- 3. C#複製陣列到陣列
- 4. 將新行列入陣列
- 5. 將陣列中的數據添加到新陣列
- 6. 複製陣列
- 7. PHP重新結構陣列從二維陣列到陣列
- 8. 將一個陣列複製到另一個陣列
- 9. 將陣列複製到更小的陣列
- 10. 將陣列N次複製到分層陣列
- 11. 更新陣列
- 12. 更新陣列
- 13. 將新對象添加到陣列時出現角度陣列重複錯誤
- 14. PHP從陣列複製參考陣列
- 15. 將ARP表複製到陣列
- 16. 將結構成員複製到陣列
- 17. 新的數據到陣列
- 18. 重複值時從現有陣列與子陣列創建新陣列
- 19. 複製3D陣列
- 20. 推新陣列爲二維陣列
- 21. 將新對象添加到2D陣列
- 22. 高效地將矩陣值複製到新矩陣
- 23. 修復陣列越界異常新陣列異常
- 24. 將陣列中的每個其他值移動到新陣列中
- 25. 更新在陣列
- 26. MongoDb陣列更新
- 27. 將雙陣列中的某些位置複製到另一個雙陣列
- 28. 重新序列化?陣列
- 29. 放置新+陣列+排列
- 30. 重新排列陣列
你至少應該嘗試發佈提問.. – posdef 2010-11-23 10:14:22
爲什麼下投票前搜索一下呢? stackoverflow回答必須處理編程的問題 – Tyzak 2010-11-23 10:54:44