Java で ArrayList を出力する
- 
          
            forループを使って Java で ArrayList を出力する
- 
          
            forEachを用いた Java での ArrayList の出力
- ID を使って Java で ArrayList を出力する
- 
          
            Java で toString()コマンドを使用したの ArrayList の出力
 
この記事では、Java で ArrayList を出力する複数の方法について説明します。ArrayList には ModelClass というクラスオブジェクトが含まれており、変数 name と関数 getter/setter を持っています。
for ループを使って Java で ArrayList を出力する
    
ループを使って Java ArrayList オブジェクトの項目を表示することができます。ここでは、for ループを使って modeList 内の ModelClass オブジェクトをすべて調べて getName() 関数を呼び出し、名前を返します。
import java.util.ArrayList;
public class Main {
  public static void main(String[] args) {
    ArrayList<ModelClass> modelList;
    ModelClass m1 = new ModelClass();
    ModelClass m2 = new ModelClass();
    ModelClass m3 = new ModelClass();
    m1.setName("Sam");
    m2.setName("Kevin");
    m3.setName("Gwen");
    modelList = new ArrayList<ModelClass>();
    modelList.add(m1);
    modelList.add(m2);
    modelList.add(m3);
    for (int i = 0; i < modelList.size(); i++) {
      System.out.println(modelList.get(i).getName());
    }
  }
}
class ModelClass {
  private String name;
  void setName(String name) {
    this.name = name;
  }
  String getName() {
    return name;
  }
}
出力:
Sam
Kevin
Gwen
forEach を用いた Java での ArrayList の出力
Java では、すべての ArrayList には forEach メソッドがあり、これは for ループと同様にすべての項目をループさせる最も簡単な方法の一つです。先ほどの例と同様に、ModelClass から getName() メソッドを使って名前を取得することができます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Consumer;
public class Main {
  public static void main(String[] args) {
    ArrayList<ModelClass> modelList;
    ModelClass m1 = new ModelClass();
    ModelClass m2 = new ModelClass();
    ModelClass m3 = new ModelClass();
    m1.setName("Sam");
    m2.setName("Kevin");
    m3.setName("Gwen");
    modelList = new ArrayList<ModelClass>();
    modelList.add(m1);
    modelList.add(m2);
    modelList.add(m3);
    modelList.forEach(new Consumer<ModelClass>() {
      @Override
      public void accept(ModelClass modelClass) {
        System.out.println(modelClass.getName());
      }
    });
  }
}
class ModelClass {
  private String name;
  void setName(String name) {
    this.name = name;
  }
  String getName() {
    return name;
  }
}
出力:
Sam
Kevin
Gwen
ID を使って Java で ArrayList を出力する
これは、toString() のようなメソッドを使用せずに ArrayList を出力すれば取得できます。これは、例の出力にあるように、項目の ID を持つ生の ArrayList を出力します。
import java.util.ArrayList;
public class Main {
  public static void main(String[] args) {
    ArrayList<ModelClass> modelList;
    ModelClass m1 = new ModelClass();
    ModelClass m2 = new ModelClass();
    ModelClass m3 = new ModelClass();
    m1.setName("Sam");
    m2.setName("Kevin");
    m3.setName("Gwen");
    modelList = new ArrayList<ModelClass>();
    modelList.add(m1);
    modelList.add(m2);
    modelList.add(m3);
    System.out.println(modelList);
  }
}
class ModelClass {
  String name;
  void setName(String name) {
    this.name = name;
  }
}
出力:
[ModelClass@682a0b20, ModelClass@3d075dc0, ModelClass@214c265e]
Java で toString() コマンドを使用したの ArrayList の出力
このリストの最後のメソッドは ModelClass 内の toString() メソッドをオーバーライドしています。この関数は modeList を使って呼び出すと name を返します。この処理は名前にあるように文字列の値しか返せないことに注意してください。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Consumer;
public class Main {
  public static void main(String[] args) {
    ArrayList<ModelClass> modelList;
    ModelClass m1 = new ModelClass();
    ModelClass m2 = new ModelClass();
    ModelClass m3 = new ModelClass();
    m1.setName("Sam");
    m2.setName("Kevin");
    m3.setName("Gwen");
    modelList = new ArrayList<ModelClass>();
    modelList.add(m1);
    modelList.add(m2);
    modelList.add(m3);
    System.out.println(modelList.toString());
  }
}
class ModelClass {
  private String name;
  void setName(String name) {
    this.name = name;
  }
  @Override
  public String toString() {
    return "ModelClass{"
        + "name='" + name + '\'' + '}';
  }
}
出力:
[ModelClass{name='Sam'}, ModelClass{name='Kevin'}, ModelClass{name='Gwen'}]
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn