使用vector的remove方法时java.util.ConcurrentModificationException

时间:2014-06-15 17:50:12

标签: java vector foreach

我尝试在每个循环中使用Vector中删除一个元素:

public static void main(String[] args) {

    Vector<Integer> tablica = new Vector<Integer>();

    for(int i=0; i<6; i++)
       tablica.add(i);

    for(int x : tablica) {
        if (x==3) tablica.remove(x);
    }
    for(int x : tablica) {
            System.out.println(x);
    }
}

1 个答案:

答案 0 :(得分:1)

您无法在迭代时删除该项目。只需使用Iterator#remove(),这对于在迭代集合时删除项目很有用。

示例代码:

  Iterator<Integer> itr = tablica.iterator();
  while(itr.hasNext()) {
     Integer x = itr.next();
     if(x == 3) {
         itr.remove();
     }
  }