Java - System.arraycopyで2つの配列を連結する

このチュートリアルでは、2つのテーブルをマージする方法を学習します。次の 2 つの例は、学習のためのアカデミックな方法と、System.arraycopy().

1)古典的な方法:両方の配列を参照
public class ConcatArrays {

public static void main(String [] args){
String [] t1 = {"1"、 "2"、 "3"};
文字列[] t2 = {"4","5","6"};
文字列[] t12 = new String[t1.length+t2.length];

/*連結*/
for(int i = 0 ; i < t1.length; i++)
t12[i]=t1[i];
for(int i = 0 ; i < t2.length; i++)
//インデックスから t12 でコピーを続けます
//停止した t1
t12[i+t1.length]=t2[i];

for(int i = 0 ; i < t12.length; i++)
System.out.println(t12[i]);
}
}
Output

1
2
3
4
5
6

2) System.arraycopy()

このメソッドは効率的です。 これを使用して、コピー元テーブルからコピー先テーブルに項目をコピーできます。引数は 5 つ受け付けます。
  1. ソース配列 (t1 と t2).
  2. ソース配列のどの位置から開始するか (この例では 0).
  3. 宛先配列 (t12).
  4. 宛先配列のどの位置から開始するか.
    1. l1.lenght の場合は >0 t2.
  5. コピーする要素の数(停止位置ではありません).
public class ConcatArrays {

public static void main(String[] args) {
char[] t1 = {'a','b','c'};
char[] t2 = {'d','e','f'};
char[] t12 = new char[t1.length+t2.length];

//最初の配列のコピー
System.arraycopy(t1, 0, t12, 0, t1.length);
//2番目の配列のコピー array
System.arraycopy(t2, 0, t12, t1.length, t2.length);

for(int i = 0 ; i < t12.length; i++)
System.out.println(t12[i]);
}
}
Output

a
b
c
d
e
f
References
Oracle ドキュメント: System
TutorialsPoint: Java.lang.System.arraycopy() メソッド