【Java】ListのIndexを確認する方法

この記事ではJavaのListのIndexの確認方法ついて解説します。
ListのIndexはリスト内の位置のことを指し、要素は0番目から順番に追加されていきます。
ListのIndexに紐づく要素を取得する場合はgetメソッドを使用します。
| get | Indexに紐づくListの要素を取り出す |
List<String> list= new ArrayList <>(Arrays.asList("ab","cd","ef"));
// Indexが0に紐づく要素を取り出す
System.out.println(list.get(0));
// Indexが1に紐づく要素を取り出す
System.out.println(list.get(1));
// Indexが2に紐づく要素を取り出す
System.out.println(list.get(2));
// 実行結果
ab
cd
ef
ただし、Indexが範囲外の場合はエラーとなります。
範囲外のアクセスしようとするとエラーとなります。上のサンプルプログラムでは2番目の要素にアクセスしようとした際などです。
List<String> list= new ArrayList <>(Arrays.asList("ab","cd","ef"));
// 範囲外のためエラー
System.out.println(list.get(3));
// 実行結果
Exception in thread "main" java.lang.IndexOutOfBoundsException:
Index 3 out of bounds for length 3
Indexの範囲を確認できていれば、範囲外アクセスを回避できます。
範囲を確認するためには、sizeメソッドを使用してList内の要素の数(=設定されているIndex)を把握します。
List<String> list= new ArrayList <>(Arrays.asList("ab","cd","ef"));
// Listの要素の数を取得
System.out.println(list.size());
// 実行結果
3
上記sizeメソッドで要素の数(=設定されているIndex)を取得できるため、範囲外のアクセスを条件分岐で制御できます。
List<String> list= new ArrayList <>(Arrays.asList("ab","cd","ef"));
for (int i = 0; i < 5; i++) {
if (i < list.size()) {
System.out.println(list.get(i));
} else {
System.out.println(i + "はIndex範囲外");
}
}
// 実行結果
ab
cd
ef
3はIndex範囲外
4はIndex範囲外

Javaの記事の一覧はJava にまとめてあります
