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!

推薦閱讀: