首頁 > 軟體

5種Java中陣列的拷貝方法總結分享

2022-07-26 18:03:40

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陣列拷貝內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com