【Java】インスタンスを配列に格納する方法

Java

今回の記事ではインスタンスを配列に格納していく方法について解説します。

サンプルコード

今回の記事ではBedクラスとBedクラスのテストを行うBedTestクラスを用意しました。mainメソッドはBedTestクラスにあります。

Bedクラス

まずはBedクラスです。

ベッドの縦の長さと横幅、ベッドのサイズを保持するフィールドを持ちます。
またベッドの情報を出力するprintDataメソッドがあります。

/**
 * Bedクラス
 * 今回はこのクラスのインスタンスを配列に格納していく
 */
public class Bed {
	// ベッドの縦の長さを保持する
	private int tateNagasa;

	// ベッドの横幅を保持する
	private int yokoHaba;

	// ベッドのサイズを保持する
	private String bedSize;

	// コンストラクタ
	Bed (int tate, int yoko, String bedSize) {
		this.tateNagasa = tate;
		this.yokoHaba = yoko;
		this.bedSize = bedSize;
	}

	// ベッドの情報を出力するメソッド
	public void printData() {
		System.out.println(bedSize + "ベッドのサイズは縦の長さが" + tateNagasa + "cm 横幅は" + yokoHaba + "cmです。");
	}
}

BedTestクラス

先ほど作ったBedクラスをテストするTestクラスです。
こちらのクラスで実際にインスタンスを配列に格納していきます。

public class BedTest {
	// Bedクラスのインスタンスを生成して配列に格納する
	public static void main(String[] args) {
		// シングルサイズのベッドのインスタンスを生成
		Bed singleBed= new Bed(190, 100, "Single");
		// ダブルサイズのベッドのインスタンスを生成
		Bed doubleBed= new Bed(210, 140, "Double");
		// 赤ちゃんサイズのベッドのインスタンスを生成
		Bed babyBed= new Bed(93, 55, "baby");
		// セミダブルのベッドのインスタンスを生成
		Bed semiDoubleBed= new Bed(210, 120, "semiDouble");

		// Bedクラスの配列の宣言
		Bed[] bedList = new Bed[4];

		// 配列にインスタンスを格納していく
		bedList[0] = babyBed;
		bedList[1] = singleBed;
		bedList[2] = semiDoubleBed;
		bedList[3] = doubleBed;

		// ループで回してBedクラスのprintDataメソッドを実行していく
		for(Bed bed: bedList) {
			bed.printData();
		}
	}
}

複数インスタンスを作成

配列に格納していくことになるインスタンスを作成します。
今回はsingleBed, doubleBed, babyBed, semiDoubleBedの四つのBedインスタンスを準備しました。

Bed singleBed= new Bed(190, 100, "Single");
Bed doubleBed= new Bed(210, 140, "Double");
Bed babyBed= new Bed(93, 55, "baby");
Bed semiDoubleBed= new Bed(210, 120, "semiDouble");

Bedインスタンスを配列に格納していく

ここから実際に配列に格納していきます。
今回配列に格納するインスタンスは全てBedクラスをインスタンス化したものなのでBed型の配列であるbedListを宣言・初期化します。

その後bedListに順番にインスタンスを代入していきます。
これを今回の場合では四回繰り返します。

Bed[] bedList = new Bed[4];
bedList[0] = babyBed;
bedList[1] = singleBed;
bedList[2] = semiDoubleBed;
bedList[3] = doubleBed;

配列に格納したインスタンスのメソッドを実行していく

最後に配列に格納したbedを拡張forによって順番に取り出しBedクラスが持つメソッドであるprintData()メソッドを呼び出します。

for(Bed bed: bedList) {
	bed.printData();
}



動作確認

以上のコードを実際に実行して動きを確認してみます。実行結果は以下の通りになります。

babyベッドのサイズは縦の長さが93cm 横幅は55cmです。
Singleベッドのサイズは縦の長さが190cm 横幅は100cmです。
semiDoubleベッドのサイズは縦の長さが210cm 横幅は120cmです。
Doubleベッドのサイズは縦の長さが210cm 横幅は140cmです。

以上、インスタンスを配列に格納する方法でした。

プログラミング初心者からWebアプリを開発できるようになってエンジニアに就職・転職するまでの学習手順をまとめた記事もあります!
こちらもぜひご覧ください!!

 

タイトルとURLをコピーしました