<目次>
(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]); } } }