首页 > 其他分享 >list.remove()时出问题,集合的remove方法注意事项2

list.remove()时出问题,集合的remove方法注意事项2

时间:2023-01-14 21:37:42浏览次数:48  
标签:Iterator iterator list remove item add 时出


不要在 foreach 循环里进行元素的 remove/add 操作。 remove 元素请使用 Iterator方式,如果并发操作,需要对 Iterator 对象加锁。
另可参考:
​list.remove()时出问题,集合的remove方法注意事项1​​

正例:
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (删除元素的条件) {
iterator.remove();
}
}

反例:
for (String item : list) {
if ("1".equals(item)) {
list.remove(item);
}
}


标签:Iterator,iterator,list,remove,item,add,时出
From: https://blog.51cto.com/u_15936016/6007793

相关文章

  • mybatis 传入多个list
    mybatis传入多个list集合做参数,很多文章的介绍都是不能实现的,千篇一律的复制,有很大的误导性,这里说一下如何实现:这里建议你传递对象过来,比如Person对象,里面加入Listlist1;L......
  • ArrayList源码解析
    ArrayList核心成员变量privatestaticfinalintDEFAULT_CAPACITY=10;privatestaticfinalObject[]EMPTY_ELEMENTDATA={};privatestaticfinalObject[]DEFAU......
  • 运用List集合实现学生管理系统
    packagecom.集合进阶;importjava.util.*;publicclass杨杨牌学生储存系统{publicstaticvoidmain(String[]args){List<学生类>c=newArrayList<学生......
  • exception in initAndListen: 98 Unable to lock file:
    问题周一刚来上班,数据库突然中断服务排查排查了端口进程发现缺失了数据库,然后查看磁盘,内存,等均无问题解决选择了重启数据库,服务恢复正常探究解决完后,不放心,打开开了数据库......
  • python教程3--list、tuple、dict、set
    1.listlist是列表,是一种有序集合,使用方法如下:#1.新建listnames=['张三','李四','王五','赵六']list2=['张三',True,4]list3=['张三',55,list2]#打印结果如下,发现,lis......
  • There is no known eureka server; cluster server list is empty
    com.netflix.discovery.shared.transport.TransportException:Thereisnoknowneurekaserver;clusterserverlistisemptyatcom.netflix.discovery.shared.transp......
  • List集合
    List集合的常用方法voidadd(intindexEelement):在此集合中的指定位置插入指定的元素Eremove(intindex):删除指定索引处的元素,返回被删除的元素Eset(in......
  • Listener
    1.概念:  *web三大组件之一    *事件:一件事情    *事件源:事件发生的地方    *监听器:一个对象    *注册监听:将事件,事件源,监听器绑定在一起。当事件源......
  • HttpListener简单使用
    封装了一个简单便捷使用HttpListener的类,可直接添加接口,实现处理逻辑。1usingSystem;2usingSystem.Collections.Concurrent;3usingSystem.Collections.Gen......
  • 使用Stream进行List转Map踩坑Duplicate key错误
    报错代码myList.stream().collect(Collectors.toMap(MyDto::getCd,MyDto::getNm));报错信息java.lang.IllegalStateException:Duplicatekey000001-01-000000000000......