Javaで別の配列に配列をコピーすることができますいくつかの方法があります。
1.コピーサイクル
コピー処理サイクルでは、唯一のあなたは、私を使用arrayBに、配列のすべてをコピーするには、ポインタを移動する必要があります。
for(int i=0;i<arrayA.length;i++)
{
arrayB[i] = arrayA[i];
}
2.clone
この方法は非常に簡単にコピーすることです、必要が唯一の変数の配列を宣言し、その後、array.clone()を使用し、別の配列にコピーすることができます。
int[] arrayB = arrayA.clone();
3.copyOf
(元の配列、長コピー)
Arrays.copyOf(arrayA,arrayA.legnth);
4.copyOfRange
(元の配列、開始位置、長コピー)
Arrays.copyOfRange(arrayA,0,arrayA);
5.arraycopy
(元の配列、元の配列の開始位置、標的配列、標的配列の開始位置、長コピー)
System.arraycopy(arrayA,0,arrayB,0,arrayA.length);
合計コード:
import java.util.Arrays;
public class copyArray {
public static void main(String[] args)
{
int[] arrayA = {2,4,6,7,10};
int[] arrayB = new int[arrayA.length+1];
copy(arrayA,arrayB);
}
public static void copy(int[] arrayA,int[] arrayB)
{
//第一种:循环拷贝
for(int i=0;i<arrayA.length;i++)
{
arrayB[i] = arrayA[i];
}
System.out.println(Arrays.toString(arrayB));
//浅拷贝
//第二种:parameters:开始数组,起始复制位置;目的数组,目的复制位置;复制的长度。
System.arraycopy(arrayA,0,arrayB,0,arrayA.length);
System.out.println(Arrays.toString(arrayB));
//浅拷贝
//第三种:原始数组,拷贝长度;
arrayB = Arrays.copyOf(arrayA,arrayA.length);
System.out.println(Arrays.toString(arrayB));
//第四种:
arrayB = Arrays.copyOfRange(arrayA,0,arrayA.length);
System.out.println(Arrays.toString(arrayB));
//第五种:
arrayB = arrayA.clone();
System.out.println(Arrays.toString(arrayB));
}
}
参考文献: