for (Iterator<String> iter = list.iterator(); iter.hasNext(); ) {
if (Integer.parseInt(iter.next()) %
3 ==
0 ) {
list.remove(iter.next());
System.out.println(list.size() +
"");
这样,使用Iterator进行迭代的时候,如果同时移除其中的元素,会抛出
java.util.ConcurrentModificationException异常。我猜想是因为我使用Iterator进行迭代的同时,移除了
其中的对象,破坏了Iterator内部用来迭代的索引。所以抛出异常。
当然,使用foreach的语法,进行循环,本身就是使用了Iterator进行迭代。所以也会出现同样的问题。
代码如下:
for ( String iter: list ) {
if (Integer.parseInt(iter) %
3 ==
0 ) {
list.remove(iter);
System.out.println(list.size() +
"");