Java|複数の配列同士を結合する方法

Javaで複数の配列同士を結合する方法プログラミングの知識
プログラミングの知識

今回は配列を結合する方法について紹介します。

Javaには配列同士を結合して新たに配列を作るメソッドは存在しないので、自分で結合処理を作る必要があります。

スポンサーリンク

2つの配列を結合する【for文を使うパターン】

String型の配列同士の結合をやってみます。使うのは主にfor文です。

最後の配列の出力にはArrays.toStringメソッドを使っています。

サンプルコード・出力結果

サンプルコードを以下に示します。

import java.util.Arrays;

public class ArrayconcatTest {

	public static void main(String[] args) {

		// 結合元のstr1とstr2を作成する
		String[] str1 = { "a", "b", "c" };
		String[] str2 = { "d", "e", "f" };

		// 結合先のstr3を作成する
		String[] str3 = new String[str1.length + str2.length];

		// str3にstr1とstr2を順番に格納する
		for (int i = 0; i < str3.length; i++) {
			if (i < str1.length) {
				str3[i] = str1[i];
			} else {
				str3[i] = str2[i - str1.length];
			}
		}

		// それぞれの配列を出力する
		System.out.println("str1:" + Arrays.toString(str1));
		System.out.println("str2:" + Arrays.toString(str2));
		System.out.println("str3:" + Arrays.toString(str3));
	}
}

サンプルコードの出力結果を以下に示します。

str1:[a, b, c]
str2:[d, e, f]
str3:[a, b, c, d, e, f]

str1とstr2を結合することができました。このコードでは2つの配列の結合にのみ対応しています。

まとめ

今回は配列を結合する方法について考えてみました。配列は要素の追加などができないため、結合などを考えると使い勝手が悪いです。

結論を言ってしまうと、ArrayListなどの要素の追加が可能なコレクションを使った方が良いですね。

スポンサーリンク
Dim雑記
タイトルとURLをコピーしました