Java - System.arraycopyで2つの配列を連結する
このチュートリアルでは、2つのテーブルをマージする方法を学習します。次の 2 つの例は、学習のためのアカデミックな方法と、System.arraycopy().1)古典的な方法:両方の配列を参照 h2>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 つ受け付けます。
- ソース配列 (t1 と t2).
- ソース配列のどの位置から開始するか (この例では 0).
- 宛先配列 (t12).
- 宛先配列のどの位置から開始するか.
- l1.lenght の場合は >0 t2.
- コピーする要素の数(停止位置ではありません).
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() メソッド
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]);
}
}
2
3
4
5
6
- ソース配列 (t1 と t2).
- ソース配列のどの位置から開始するか (この例では 0).
- 宛先配列 (t12).
- 宛先配列のどの位置から開始するか.
- l1.lenght の場合は >0 t2.
- コピーする要素の数(停止位置ではありません).
public class ConcatArrays {Output
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]);
}
}
aReferences
b
c
d
e
f
Oracle ドキュメント: System
TutorialsPoint: Java.lang.System.arraycopy() メソッド