數組復制常用的三種方法


在使用數組的過程中,經常會對數組進行復制,這里介紹3種數組復制的方法,供大家參考和學習

 

 數組復制方法一:
 通過遍歷原數組,遍歷的過程中,對原數組進行取值,
 然后在賦值給新的數組。
 注意:
 1. 這種復制方法要求,目標數組的長度,不能小於原數組的長度,
 否則復制的過程中會出現,ArrayIndexOutOfBoundsException(數組下標越界異常)
 2. 如果目標數組的長度比原數組的長度長,則復制完成后,復制出來的數組中,
 沒有復制過去的元素值,為默認值。

代碼如下:

//原數組
int[] array = {1,2,3,4,5};
//目標數組
int[] array1 = new int[array.length];
//開始復制
for(int i = 0; i < array.length; i++) {
	array1[i] = array[i];
}
//對目標數組進行遍歷,查看復制結果 
for (int i = 0; i < array1.length; i++) {
	System.out.println(array1[i]);
}

  

數組復制方法二
Arrays.copyOf(original, newLength);
coriginal:原數組
 newLength:新數組的長度
 注意:1. 新數組的長度
  如果寫的比原數組的長度小,那就只復制到哪里
  如果寫的比原數組的長度長,沒復制的地方,會是默認值。
      2. 這種復制數組的方法,復制的時候,必須用一個數組在前面接收復制的結果。

代碼如下:

//原數組
int[] arr = {1,2,3,4,5};
//將原數組復制到目標數組中
int[] arr1 = Arrays.copyOf(arr,arr.length);
		
//遍歷目標數組查看結果
for (int i = 0; i < arr1.length; i++) {
	System.out.println(arr1[i]);
}

  

數組復制方法三
System.arraycopy(src,srcPos,dest,destPos,length);
src:原數組
srcPos:從原數組的起始位置+
dest:目標數組
destPos:目標數組開始的的位置
length:要Copy的數組長度
注意:
   這種復制數組的方法,復制的時候,不需要用數組在前面做接收。
   當這個語句執行完畢后,原數組里的元素,就已經按照要求,復制到了目標數組中了。
代碼如下:

//原數組
int[] num = {0,1,2,3,4};
//目標數組
int[] num1 = new int[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++) {
	System.out.println(num1[i]);
}

  

  以上就是在進行數組復制過程中常用的三種復制方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM