相关文章推荐
打酱油的香蕉  ·  Excel ...·  1 年前    · 
刚失恋的黄瓜  ·  c++ - C26495 Variable ...·  1 年前    · 
谈吐大方的香菜  ·  基于springboot ...·  1 年前    · 
  • 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() + "");
  •