ArrayListオブジェクトにおけるremove()メソッドの使用
938 ワード
今日ArrayListを使用すると、test変数が初期化されます.
そのうちの3を削除したい場合:
その中のremoveメソッドに問題があることに気づき、removeメソッドの具体的な説明を見に行きました.
一般的にremoveカッコに整数を入力すると、インデックスとして認識されます.すなわち、3を入力すると、下付き3の要素を削除すると認識されますが、testにはこの下付き要素は存在しません.だから、異常が投げ出されます.だから、3という要素を削除するときは、removeはこのように書くべきです.
ArrayList test = new ArrayList(3);
test.add(1);
test.add(2);
test.add(3);
そのうちの3を削除したい場合:
test.remove(3);
異常を投げ出しましたException in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.remove(Unknown Source)
at Game.main(Game.java:32)
その中のremoveメソッドに問題があることに気づき、removeメソッドの具体的な説明を見に行きました.
remove(int index) : Integer - ArrayList
remove(Object o) : boolean - ArrayList
一般的にremoveカッコに整数を入力すると、インデックスとして認識されます.すなわち、3を入力すると、下付き3の要素を削除すると認識されますが、testにはこの下付き要素は存在しません.だから、異常が投げ出されます.だから、3という要素を削除するときは、removeはこのように書くべきです.
test.remove((Integer)3);
あるいはindexOf法により要素3のインデックス値を取得して削除する:test.remove(test.indexOf(3));