【Java】Listのgetで範囲外とならないように取得する

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP