【Java】Listのgetで範囲外とならないように取得する
javaのListから要素を取り出す場合は、getメソッドを使用します。
get(数値): Listの要素を取り出す
get(数値)を使用すると、Listの数値の位置の要素を取り出すことができます。
List<String> list= new ArrayList <>(); list.add("0番目の要素"); list.add("1番目の要素"); System.out.println(list.get(0)); System.out.println(list.get(1)); //実行結果 0番目の要素 1番目の要素
範囲外にアクセスするとエラーとなる
範囲外のアクセスしようとするとエラーとなります。上のサンプルプログラムでは2番目の要素にアクセスしようとした際などです。
List<String> list= new ArrayList <>(); list.add("0番目の要素"); list.add("1番目の要素"); // 範囲外のためエラーとなる System.out.println(list.get(2)); // 実行結果 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
範囲外のアクセスを防ぐには要素数を把握し、要素数以上の範囲にアクセスしなければエラーとなりません
size | Listの要素数を取得します。 |
sizeメソッドを使用し、返却された数-1がアクセスできる数のため、条件分岐などで制御を行います。
List<String> list= new ArrayList <>(); list.add("0番目の要素"); list.add("1番目の要素"); // Listの要素数を取得 int listsize = list.size(); // 要素外検証のため、5回ループ for (int i = 0; i < 5; i++) { // 範囲外検証のための条件分岐 if (i < listsize) { System.out.println(list.get(i)); } else { System.out.println(i + "番目の要素は範囲外です"); } } // 実行結果 0番目の要素 1番目の要素 2番目の要素は範囲外です 3番目の要素は範囲外です 4番目の要素は範囲外です
Javaの記事の一覧はJava にまとめてあります