有時候需要建立一個新陣列,這個新陣列跟舊的陣列前面都一樣
只有最後幾個值不同或是加了幾個值
或是有兩個陣列,我們需要合併這兩個陣列的時候
除了用for迴圈把陣列一個一個倒進去以外
我們可以使用System的arraycopy方法
文件方法如下
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
第一個src要放入的是被複製的陣列
srcPos是指定被複雜的陣列從第幾項開始複製
dest放入的是要複製的陣列
destPos是指定要複製的陣列從第幾項開始寫入
length放入的是你總共要複製幾項資料
以下是最常用的兩個範例
只有最後幾個值不同或是加了幾個值
或是有兩個陣列,我們需要合併這兩個陣列的時候
除了用for迴圈把陣列一個一個倒進去以外
我們可以使用System的arraycopy方法
文件方法如下
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
第一個src要放入的是被複製的陣列
srcPos是指定被複雜的陣列從第幾項開始複製
dest放入的是要複製的陣列
destPos是指定要複製的陣列從第幾項開始寫入
length放入的是你總共要複製幾項資料
以下是最常用的兩個範例
public class copyArrayDemo {
public static void main(String[] args) {
System.out.println("This is demo 1");
int[] arr1 = {1,2,3};
int[] arr2 = new int[arr1.length+1];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
arr2[arr1.length]= 4;
// arr2 == {1,2,3,4}
for(int item:arr2){
System.out.println(item);
}
System.out.println("This is demo 2");
String[] array1 = {"item1","item2","item3"};
String[] array2 = {"demo1","demo2","demo3"};
String[] sum = new String[array1.length+array2.length];
System.arraycopy(array1, 0, sum, 0, array1.length);
System.arraycopy(array2, 0, sum, array1.length, array2.length);
// sum =={"item1","item2","item3","demo1","demo2","demo3"}
for(String item:sum){
System.out.println(item);
}
}
}
文章標籤
全站熱搜
