當前位置:
首頁 > 知識 > Java開發之Java對數組的複製

Java開發之Java對數組的複製

定義一個數組int[] a=; int[] b=a; 數組b只是對數組a的又一個引用,即淺拷貝。

如果改變數組b中元素的值,其實是改變了數組a的元素的值,要實現深度複製,可以用clone或者System.arrayCopy

因為java中沒有二維數組的概念,只有數組的數組。所以二維數組a中存儲的實際上是兩個一維數組的引用。當調用clone函數時,是對這兩個引用進行了複製。

小結:

數組的複製方法現在至少有四個思路:

1 使用循環結構 這種方法最靈活。唯一不足的地方可能就是代碼較多

2 使用Object類的clone()方法, 這種方法最簡單,得到原數組的一個副本。靈活形也最差。效率最差,尤其是在數組元素很大或者複製對象數組時。

3 使用Systems的arraycopy這種方法被告之速度最快,並且靈活性也較好,可以指定原數組名稱、以及元素的開始位置、複製的元素的個數,目標數組名稱、目標數組的位置。

4 Arrarys類的copyOf()方法與copyOfRange()方法可實現對數組的複製

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

Java多態對象的類型轉換
寫好Java代碼的30條經驗總結
java開發需要知道的一些linux命令
Java是怎樣運行的,你敢說真的知道?
Java和php的優劣勢及前景分析

TAG:java學習吧 |

您可能感興趣

ReactNative開發實戰一之環境搭建
bigide之數據開發
JetBrains殺入Python開發,發布全新機器學習Web方案!
Oculus開始向開發者提供VR一體機Santa Cruz
GameFace Labs發布VR一體機開發者版本兼容SteamVR
Hitman開發人員在批評之後調整發布模式 Parable創造者的新遊戲
Facebook:一批開發者已經拿到了Santa Cruz開發機
繼 Linux 之父之後獨立開發者 Jonathan Blow 再次炮轟 C++ 可怕
Python web開發:Flask的項目配置
Magic Leap開發者大會開放申請;Adobe Captivate
Facebook表示已經有開發者收到Santa Cruz開發機
引入Skaffold:簡單且可重複的Kubernetes開發
RogueInitiative與EmblematicGroup合作開發全新沉浸式內容
Valve展示了最新的Knuckles開發套件EV2
PhantomJS宣布終止開發
apache的commons-email 類庫開發示例
Unity與Unreal 相繼發布新功能支持AR開發
Python web開發:Flask的URL和視圖
Flutter vs React Native,誰才是跨平台應用開發的最佳利器?
Mozilla推出開源瀏覽器Firefox Reality,專為VR一體機開發