用来遍历集合的每个对象并进行一些操作。 不建议在遍历集合时对集合进行修改操作。
为什么不能在遍历集合时  进行删除等待操作呢???

解决方案 »

  1.   

    你用的什么遍历 的集合啊
    遍历的什么集合啊
    for(int i=0;i<lint.size;i++){
    list.remove(i);
    }
    不建议,不代表不能,不建议是因为没法确定你要删除的数据在集合中的位置
    除非逻辑判断很准确才好,不然容易把所有数据都删掉
      

  2.   

    这句话应该是迭代器里面的.! 迭代的时候如果做删除的话,对于长度可变的list来说,你下面再迭代哪一个呢.?迭代上次的那个下标么.?肯定不可能了.!
    所以迭代过程中是不允许删除的.!
      

  3.   

    比如下面的代码:
    int[] ary = {1,2,3,4,5};
    for(int i = 0; i < ary.length; i++){
    ...
    }
    它在编译的时候很可能被优化成:
    int[] ary = {1,2,3,4,5};
    int length = ary.length;
    for(int i = 0; i < length; i++){
    ...
    }
    你若在循环中改变了数组或集合,则这个循环就不正确了。
      

  4.   

    我试了下 
    迭代 hashmap  
    通过iterator删除 没有发现错误!!!谁能补充下