Java

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

uhablog

こんにちは、大学時代にプログラミングの勉強を始め現在はエンジニアをしているuhablogです。
当ブログでは現役エンジニアがプログラミング初学者の方向けにプログラミングの学習法を発信しています。

\\一流講師に学ぼう!!//

Udemyで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です。");
    }
}

インスタンスを生成して、配列に格納する

先ほど作った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();
}
Java初心者のあなたへ

動作確認

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

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

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

プログラミング学習はUdemyがおすすめ

私はプログラミングの学習はUdemyで行うのが一番おすすめです。
Udemyでは動画講座でプログラミングなどのスキルを身につけることができます。
現役エンジニアがUdemyをオススメする理由は
・動画で好きなときに学べる
・一流の講師に学ぶことができる
・講師の方に質問ができる
・返金保証もある
・セールを頻繁に開催している
といったたくさんの理由があります。

現在Udemyではセールを開催しています!
通常時1万円から2万円前後の価格で講座が販売されていますが、セール時には1500円前後(ランチ代くらい)で一つの講座を購入することができます。
UdemyにはサーブレットでWebアプリ開発が学べる講座iconもあるので、JavaでWebアプリ開発する方法を学んでみたい!という方は今がチャンスです!

\\今ならセール開催中!//

Udemyでサーブレット&jspを学ぶ!!

返金保証付き

独学が不安な人へ

独学で学んでいく意志がある方にはUdemyなどで学習するのがおすすめですが、プログラミングを独学するにはそれなりにハードルがあります。

  • プログラミングで一度挫折した経験がある
  • 一人で学習する自信がないので、サポートが欲しい

という方にはプログラミングスクールを検討してみるのがおすすめです。

挫折経験のあるあなたへ

-Java