陣列的複製常用方法

2021-10-09 09:48:20 字數 1893 閱讀 1681

陣列不可以直接複製,如:

int

arr=

;int

arr2=arr;

//不可以

陣列複製方法一:

通過遍歷原陣列,遍歷的過程中,對原陣列進行取值,

然後在賦值給新的陣列。

注意:這種複製方法要求,目標陣列的長度,不能小於原陣列的長度,

否則複製的過程中會出現,arrayindexoutofbound***ception(陣列下標越界異常)

如果目標陣列的長度比原陣列的長度長,則複製完成後,複製出來的陣列中,

沒有複製過去的元素值,為預設值。

**如下:

//原陣列

int[

] array =

;//目標陣列

int[

] array1 =

newint

[array.length]

;//開始複製

for(

int i =

0; i < array.length; i++

)//對目標陣列進行遍歷,檢視複製結果

for(

int i =

0; i < array1.length; i++

)

陣列複製方法二

arrays.copyof(original, newlength);

coriginal:原陣列

newlength:新陣列的長度

注意:1. 新陣列的長度

如果寫的比原陣列的長度小,那就只複製到**

如果寫的比原陣列的長度長,沒複製的地方,會是預設值。

2. 這種複製陣列的方法,複製的時候,必須用乙個陣列在前面接收複製的結果。

**如下:

//原陣列

int[

] arr =

;//將原陣列複製到目標陣列中

int[

] arr1 = arrays.

copyof

(arr,arr.length)

;//遍歷目標陣列檢視結果

for(

int i =

0; i < arr1.length; i++

)

陣列複製方法三

system.arraycopy(src,srcpos,dest,destpos,length);

src:原陣列

srcpos:從原陣列的起始位置+

dest:目標陣列

destpos:目標陣列開始的的位置

length:要copy的陣列長度

注意:這種複製陣列的方法,複製的時候,不需要用陣列在前面做接收。

當這個語句執行完畢後,原陣列裡的元素,就已經按照要求,複製到了目標陣列中了。

**如下:

//原陣列

int[

] num =

;//目標陣列

int[

] num1 =

newint

[num.length]

;// 複製陣列解析: (原陣列,從原陣列的起始位置,目標陣列,目標陣列的起始位置,要複製的陣列長度)

// system.arraycopy(src, srcpos, dest, destpos, length);

//執行複製

system.

arraycopy

(num,

0, num1,

0, arr.length)

;//遍歷目標陣列檢視結果

for(

int i =

0; i < num1.length; i++

)

陣列的複製方法

1.system方法 語法 public static void arraycopy object src.int srcpot.object deat.int destpos.int length 引數 src 原陣列 srcpot 原陣列的起始位置 deat 目標陣列 destpos 目標陣列的...

陣列複製的幾種方法

一 for迴圈 二 使用system.arraycopy方法 system.arraycopy src,srcpos,dest,destpos,length 可以選定複製原陣列的部分內容,但新陣列需要先宣告並初始化 另外這種方法可以用來實現原陣列的擴容,即將原陣列的內容拷進去,但是比較麻煩 三 ar...

C 陣列複製方法詳解

c 陣列複製方法有哪些呢?在實際開發的過程中,我們需要掌握學習的有哪些呢?這裡向你介紹5種方法,那麼具體的實施方法是什麼呢?讓我們看看具體的內容。陣列間的複製,int pins int alias pins 這裡出了錯誤,也是錯誤的根源,以上 並沒有出錯,但是根本不是複製,因為pins和alias都...