次のような foreach ループで繰り返しているときに、リストから要素を削除できないのはなぜだろうと思っていました。
List<Object> objects = new ArrayList<Object>();
Object one = new Object();
Object two = new Object();
Object three = new Object();
objects.add(one);
objects.add(two);
objects.add(three);
次に、次のような要素を削除します。
foreach(Object o : objects){
objects.remove(three); //I know that o is my current object
}
foreach-loop では、ループ キューに「まだ」あるオブジェクトを削除できないようです。私は正しいですか?
そして、なぜ for-int-loop はこれを気にしないのでしょうか? このループでは、まだループ内にあるオブジェクトを簡単に削除できます。
ありがとう