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
删除List的三种方式: (1) 普通遍历 : @Test public void testList(){ ArrayList<String> list = new ArrayList<>(); list.add("one"); list.add("two"); list.add("three"); //1. 普通遍历删除 list 中元素 for (int i = 0; i < list.size(); i++)