<目次>
(1) Javaで複数の配列を結合する方法について
(1-1) 構文
(1-2) サンプルプログラム
(1) Javaで複数の配列を結合する方法について
Javaで複数の配列を結合する方法ははいくつもありますが、今回はSystemクラスのarraycopyメソッドを使った方法を紹介します。
(1-1) 構文
(構文)
System.arraycopy([①コピー元配列],[②コピー元開始位置],[③コピー先配列],[④コピー先開始位置],[⑤コピー長]);
| [①コピー元配列] | コピー元の配列を指定します。 |
| [②コピー元開始位置] | コピー元の配列のコピー対象の開始位置(インデックス)を指定します。 |
| [③コピー先配列] | コピー先の配列を指定します。 |
| [④コピー先開始位置] | コピー先の配列のコピー先の開始位置(インデックス)を指定します。 |
| [⑤コピー長] | コピーする要素数を指定します。 |
(図111)arraycopyのイメージ図

(1-2) サンプルプログラム
このサンプルはarray1とarray2の内容を、array3にコピーして1つの配列にするプログラムです。array1は1文字目の「あ」から、array2は2文字目の「か」からそれぞれコピーしています。
(図121)

(サンプルプログラム)
public class IT0xxx_ArrayCopy {
public static void main(String args[]) {
//# コピー元
String array1[] = {"あ","い","う","え","お"};
String array2[] = {"B","か","き","く","け","こ"};
//# コピー先
String array3[] = new String[array1.length+array2.length];
//# コピー①:array1をarray3の先頭にコピー
System.arraycopy(array1, 0, array3, 0, array1.length);
//# コピー②:array2の2文字目以降を、array3の空き位置からコ>ピー
System.arraycopy(array2, 1, array3, array1.length, (array2.length-1));
for(int i=0; i<array3.length; i++) {
System.out.println(i+" : "+array3[i]);
}
}
}