try-catch で ArrayList をクリアしたい。メソッドでできることは知っていclear()
ますが、 for ループですべてのアイテムをクリアしようとすると。以下に結果を示します。
public class ArrayListTryCatch {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList();
int oldsize = list.size();
try {
list.add(20);
list.add(30);
list.add(40);
int wrongDivide = 1 / 0;
} catch (Exception e) {
for (int i = 0; i < list.size(); i++) {
System.out.println("deleted item: " + list.get(oldsize));
list.remove(i);
}
}
System.out.println(list.size());
System.out.println("after try catch: ");
for (Integer e : list) {
System.out.println(e);
}
}
}
結果は次のとおりです。
deleted item: 20
deleted item: 30
1
after try catch:
30
私はそれが空のArrayListでなければならないと思った。私が抱えている問題は何ですか?