因为你要是遍历了,arraylist 的长度就变了,容易数组越界和下标问题 public class Test { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(2); Iterator<Integer> iterator = list.iterator()
C++ STL中的map是很常见的.通常我们用例如以下方式来遍历,而且删除map中的一些entry: map<int, int> mp; mp.insert(make_pair(1,1)); mp.insert(make_pair(2,3)); // insert some elements for (map<int, int>::iterator iter = mp.begin(); iter != mp.end(); iter++) { if (iter->first =
在做项目中用到List存储数据,在里面做数据操作时候用到了删除.结果抛出ConcurrentModificationException异常.在这里把问题总结一下. 原因: ArrayList进行foreach时所调用的迭代器(内部迭代器Itr) /** * An optimized version of AbstractList.Itr */ private class Itr implements Iterator<E> { int cursor; // index of next elem