5種Java中數組的拷貝方法總結分享
1、for循環
for循環拷貝是最簡單直觀的方法,循環訪問當前數組的每一個元素,並復制到新數組的相應下標。
示例代碼:
運行結果:
2、調用clone()方法
該方法是類Object類中的方法;使用clone方法進行拷貝時,是將arr中的所有元素都拷貝下來,不可以挑選。 clone() 方法的返回值是 Object 類型,要使用強制類型轉換為適當的類型。
示例代碼:
運行結果:
3、Arrays類中的Arrays.copyOf()方法
該方法是整體拷貝。
int [] original:將要拷貝的原數組
int newLength:新數組的長度;可以擴容到原數組長度的2倍
使用這種方法復制數組時,默認從原數組的第一個元素(下標為 0)開始復制,新數組的長度將為 newlength。如果新數組長度 length 大於原數組長度,則新數組中采用默認值0進行填充;如果 newlength 小於原數組長度,則復制到第 length 個元素(下標為 length-1)截止。
這個方法底層調用瞭System.arraycopy方法:
示例代碼:
運行結果:
4、copyOfRange()方法
該方法是Arrays 類中的 CopyOfRange() 方法,該方法用於拷貝某個范圍
- int[] original:將要拷貝的原數組
- int from:拷貝數組的起始下標 ,下標值必須在 0 到原數組長度之間;
int to:拷貝數組的終止下標,且終止下標必須大於等於起始下標,也可以大於 arr.length,如果大於 arr.length,則新數組中剩餘的空位置用默認值0進行填充。
示例代碼:
運行結果:
5、System.arraycopy()方法
該方法位於System類中,語法形式如下:
使用此方法復制數組時,length+srcPos必須小於等於原數組的長度,同時 length+destPos 必須小於等於新數組的長度。
示例代碼:
運行結果:
到此這篇關於5種Java中數組的拷貝方法總結分享的文章就介紹到這瞭,更多相關Java數組拷貝內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java復制(拷貝)數組的4種方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRan
- LeetCode189輪轉數組python示例
- Java數組(Array)最全匯總(下篇)
- 深入瞭解Java核心類庫–BigDecimal和System類
- Java基礎之數組超詳細知識總結