2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

クラス型のArrayListから、要素を順に取り出す

Last updated at Posted at 2020-02-21

はじめに

JAVAにおいて、
「クラス型の要素を格納したArrayListから、それぞれの要素のフィールドのデータを順に取り出す」
という処理を、メソッドとして定義する方法がわからなかった。
解決方法を備忘録として書き記しておく。

問題となったこと・その解決の鍵になったこと

  • メソッドの仮引数にArrayListを指定する方法が分からない

 -> ArrayList<型> 変数名 とする。

  • for文の中で、クラスのフィールドを呼び出す方法が分からない

 -> リストの変数名.get(i).getName() などとする。

環境

OpenJDK 13 (dokojavaの利用)

具体例

自販機のシステムを模したソースコードで、

  • Main.java(Mainメソッドと今回問題となったメソッドを含むクラス)
  • Drink.java(飲み物を示すクラス)

の2ファイルで構成される。

Main.java
import java.util.ArrayList;

public class Main {
	public static void main(String[] args) {

        var drinklist = new ArrayList<Drink>();

        // Drinkクラスを格納するArrayListに飲み物を追加
        Drink coffee = new Drink("コーヒー", 1, 130);
        drinklist.add(coffee);

        Drink water = new Drink("水", 2, 100);
        drinklist.add(water);


        // 今回問題となったメソッドの呼び出し
        displayProduct(drinklist);

        }

        // メソッドを定義
        // ArrayListからDrinkクラスのフィールドを順に取り出す
    public static void displayProduct(ArrayList<Drink> drinklist) {
        for(Drink drink : drinklist) {
        System.out.println(drink.getNumber() + "." + drink.getName()
            + drink.getPrice() + "円");
        }
    }
}
Drink.java
public class Drink {
    private String name;
    private int number;
    private int price;
    
    public String getName() {
    return this.name;
    }
    public int getNumber() {
        return this.number;
    }
    public int getPrice() {
        return this.price;
    }
    
    public Drink(String name, int number, int price){
        this.name = name;
        this.number = number;
        this.price = price;
    }
}

出力結果

1.コーヒー130円
2.水100円
2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?