複数のデータを一つにまとめて扱う方法として配列を学んだが、JavaにはArrayListもある。
最初に要素数の確保が必要のないArrayListは実務でも配列以上に多用される。ここで基本的な使い方をマスターしてしまおう。

宣言は

import java.util.ArrayList;
ArrayList<~> 変数名 = new ArrayList<~>();

で行う。<~>の部分は収納するインスタンスの型名を記述する。
int型やdouble型のような基本型の変数は格納できないので注意が必要だ。
また、Java SE7からは右辺の型は省略可能となった、環境が許せばそちらを使うとよいだろう。

ArrayList<~> 変数名 = new ArrayList<>();
例)
ArrayList<String> names = new ArrayList<>();

配列とは違い、要素数の確保は必要なく宣言後すぐに使うことができる。
addメソッドで要素を追加していく

//リストを宣言
ArrayList<String> names=new ArrayList<>();
//リストに追加
names.add("John");
names.add("Paul");
names.add("George");

値を取り出すのはget(index)だ。

System.out.println(names.get(0)); //->John

配列の要素数の取得は.lengthだったがリストではsize()メソッドを使う。
例としてfor文での要素の一覧を記す。

for(int i=0;i<names.size();i++){
    System.out.println(names.get(i));
}

配列同様、拡張for文でも全要素を取得できる。

for(String s:names){
    System.out.println(s);
}

これで基本的な操作はOKだ。要素数があらかじめ予測出来ない場合など出番は多い。どんどん使って慣れていこう。
最後に、よく使われる他のメソッドを一覧しておく。

add(~) リストの最後に要素を追加
add(int,~) 要素のint番目に要素を挿入
set(int,~) リストのint番目の要素を上書き
get(int) int番目の要素を取得
size() 要素数を返す
isEmpty() 要素数が0であるかをboolで返す。
contains(~) 指定要素が含まれているかをboolで返す
indexOf(~) 指定要素のindexを返す(ない場合は-1)
clear() 全要素削除
remove(int) int番目の要素を削除
remove(~) 要素を指定して削除(ない場合なにもしない)