`

循环删除list里符合某些条件的元素问题

    博客分类:
  • java
 
阅读更多

比如一个list里有三个元素,并且都符合删除的条件,使用for循环删除时会引发java.util.ConcurrentModificationException

解决办法就是使用list的迭代器进行删除

Iterator<Wrwpf> it= list.iterator();

while (it.hasNext()) {

Wrwpf wrwpf = it.next();

if(wrwpf.getDq().equals("金阊区") || wrwpf.getDq().equals("沧浪区") || wrwpf.getDq().equals("平江区")){

dyhw+=wrwpf.getDyhwpfl();

   yc+=wrwpf.getYcpfl();

   eyht+=wrwpf.getEyhtpfl();

it.remove();

};

 

}

 

 

 

分享到:
评论

相关推荐

    C#遍历List并删除某个元素的方法

    1. 避免在正序遍历过程中删除元素,以免跳过某些元素。 2. 使用倒序遍历可以解决删除元素后跳过问题,但效率较低。 3. 考虑使用Linq表达式,尤其是当需要大量删除时,以提高性能。 希望以上内容对你的C#程序设计...

    HashMap和List遍历方法及如何遍历删除元素总结

    当删除某个元素后,List的大小发生了变化,而索引也在变化,所以会导致漏掉某些元素。 2. 增强for循环 增强for循环是Java语法糖的一种体现,但是使用这种方法遍历删除元素也会出现问题,运行时会报...

    浅析jquery数组删除指定元素的方法:grep()

    然而,在某些情况下,使用`splice()`方法可能会得到不符合预期的结果,比如在原数组上直接修改,返回被删除的元素,而非原数组的副本。在这种情况下,jQuery提供的`grep()`方法可以提供一种替代方案,它允许通过过滤...

    java集合类arraylist循环中删除特定元素的方法

    这种方法的问题在于,当你删除一个元素后,数组的其余元素会被向前移动,但索引`i`仍然递增,导致在某些情况下可能会跳过某些元素。为了解决这个问题,我们在删除元素后减小`len`,确保循环不会超出范围。尽管这种...

    对python list 遍历删除的正确方法详解

    有时,我们可能需要在遍历列表的过程中根据特定条件删除元素,比如删除所有的偶数或者不符合某些标准的元素。初学者往往会直接在遍历过程中使用.pop()方法删除元素,这通常会导致程序报错,例如“IndexError: list ...

    python列表的逆序遍历实现

    例如,在一个包含数字的列表中,如果我们要删除所有包含数字"2"的元素,直接正向遍历并使用`remove()`函数会遇到问题,因为删除元素会导致后续元素的下标发生变化,使得某些元素在遍历过程中被遗漏。 错误的正向...

    Linq基础学习资料,通俗易懂

    - **SingleOrDefault 集合中符合条件的唯一元素(没有则返回类型默认值),浅复本**:返回集合中符合条件的唯一元素,如果没有找到则返回类型默认值。 - **First 集合的第一个元素,浅复本**:返回集合中的第一个元素...

    Python中remove漏删和索引越界问题的解决

    在遍历列表并使用`remove()`删除元素时,如果在遍历过程中删除了元素,可能导致某些符合条件的元素未被删除。这是因为删除元素后,列表的索引会发生变化,原本应检查的元素可能被跳过。 **示例代码**: ```python ...

    TCL培训教程

    - **6.2.3 foreach命令**:遍历List中的每个元素。 - **6.2.4 break和continue命令**:`break`用于提前退出循环,`continue`用于跳过当前循环体剩余部分。 - **6.2.5 switch命令**:根据不同的条件执行相应的代码块...

    Python 48 道面试题及答案.docx

    - 在循环中移除列表元素时需谨慎,例如,如果在遍历列表`lis`时删除元素,会导致跳过某些元素。在给定的例子中,偶数被删除,输出结果为[4, 5, 7]。 - 使用`sorted()`函数结合`key`参数可以按绝对值对列表进行排序...

    2021-2022计算机二级等级考试试题及答案No.11585.docx

    14. 循环条件:给定的while循环在m++后不满足条件,因此k只在第一次循环中增加,最终k的值为1。 15. 外键定义:在SQL中,CREATE TABLE语句中使用FOREIGN KEY关键字来指定外键约束。 16. Word保存:Ctrl+S快捷键与...

    JS代码之模仿flickr的横向导航菜单效果.zip

    这涉及到选择元素(如`document.getElementById`, `querySelector`, `querySelectorAll`等)、添加或删除类(`classList.add`, `classList.remove`)、改变属性值以及插入或移除元素等。 3. **事件监听**:为了实现...

    python笔记题带答案.pdf

    为了解决这个问题,Python引入了循环检测器,周期性地检查并消除不可访问的循环引用对象,防止内存泄漏。 3. **内存池机制**: Python有一个称为Pymalloc的内存池机制,专门用于管理小块内存的分配和释放。小于256...

    南开20秋学期(2009-)《Python编程基础》在线作业答案.doc

    19. **循环与条件**:在Python中,`while(m==0):`会在m等于0时执行循环体,但循环体内部会将m减1,因此循环永远不会执行,最后打印的m仍然是5。 20. **面向对象编程**:面向对象方法是一种程序设计范式,强调数据和...

    Java英文单词汇总.doc

    检查是否符合指定的模式或条件。 - **assess**:评估。对某种情况进行评价或判断。 #### 循环结构 - **while**:循环。根据条件重复执行代码块。 - **do**:执行。先执行一次代码块,然后检查条件是否满足继续执行...

    Python经典题目100道题.pdf

    14. **删除列表中指定元素** - 使用列表的 pop() 方法:`list.pop(index)` 15. **让列表按相反顺序排列** - 使用列表的 reverse() 方法:`list.reverse()` 16. **表示只包含一个元素的元组** - 使用逗号和括号...

    世界500强面试题

    - **双端队列(Deque)**:另一种数据结构,支持两端的插入和删除操作,可以在某些情况下替代栈的变体。 - **栈的应用**:如表达式求值、函数调用栈、括号匹配等问题。 #### 四、求子数组的最大和 **知识点:** - **...

    Effective STL 中文版 带目录 封面是老版内容无差别

    vector在追加元素时可能会进行动态扩展,而list则通过双向链表实现,插入和删除操作相对高效。理解这些特性对于优化性能至关重要。 条款二:正确使用迭代器。迭代器是访问STL容器内元素的主要方式,但不正确的迭代...

Global site tag (gtag.js) - Google Analytics