Java | 配列の連結

Java Java
スポンサーリンク

主な内容の要点

Javaには「配列を連結する専用メソッド」はありませんが、System.arraycopy を使えば2つの配列をつなげて新しい配列を作ることができます


ポイント解説

  • Java標準には「配列連結メソッド」がない
    文字列なら + で結合できますが、配列はそうはいきません。自分で新しい配列を用意してコピーする必要があります。
  • System.arraycopy メソッドを使う
    書式は次の通りです:
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Java

src : コピー元の配列
srcPos : コピー開始位置(コピー元)
dest : コピー先の配列
destPos : コピー開始位置(コピー先)
length : コピーする要素数

  • 手順はシンプル
    1. まず「コピー元配列の要素数の合計」を持つ新しい配列を作る
    2. System.arraycopy を使って、最初の配列をコピー
    3. 続けて2つ目の配列をコピー
  • サンプルコード
import java.util.Arrays;

class Sample {
    public static void main(String[] args) {
        int[] src1 = {28, 14, 35, 19};
        int[] src2 = {17, 40, 23};

        // 新しい配列を作成(要素数は合計)
        int[] dst = new int[src1.length + src2.length];

        // 1つ目の配列をコピー
        System.arraycopy(src1, 0, dst, 0, src1.length);

        // 2つ目の配列をコピー
        System.arraycopy(src2, 0, dst, src1.length, src2.length);

        // 結果を表示
        System.out.println(Arrays.toString(dst));
    }
}
Java

出力例:

[28, 14, 35, 19, 17, 40, 23]
  • 注意点
    • コピー範囲を間違えると IndexOutOfBoundsException が出る
    • 型が合わないと ArrayStoreException が出る
    • null を渡すと NullPointerException が出る

初心者へのアドバイス

  • 「配列をつなげたい」と思ったら、新しい配列を作ってコピーするのが基本。
  • System.arraycopy は「コピー専用の便利メソッド」と覚えておくと良いです。
  • 慣れてきたら、ListArrayList を使うともっと簡単に連結できます。
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました