【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 にまとめてあります