关于List.remove在for循环中出现问题的解决方案
来源:互联网 发布:淘宝智能客服机器人 编辑:程序博客网 时间:2024/06/06 23:51
for(Menu item:sub){if(!subIds.contains(item.getId())){sub.remove(item);}}此时会出现异常,示例说明:2,3,4 当删除2时,元素向后移动,执行i=i+1,从 0 1 2 变成 2 3 ,当删除3,元素向后移动,变成 3 4 ,此时会发现找不到4就结束循环解决办法:1.倒序删除: 2 1 0 -> 2 1 -> 2 刚好能够删除 2.迭代删除Iterator<Menu> it = sub.iterator(); while(it.hasNext()){ Menu item = (Menu)it.next(); if(!subIds.contains(item.getId())){ it.remove();} }
阅读全文
0 0
- 关于List.remove在for循环中出现问题的解决方案
- 关于List.remove在for循环中出现问题的解决方案
- 关于List.remove在for循环中出现问题的解决方案
- 关于在list的值在循环中remove时出现的错误的总结
- 在for循环中remove list报错越界的问题
- python:在for遍历list时使用remove出现的问题以及解析
- List 循环中出现的问题
- 关于在DELPHI中FOR循环语句的使用问题
- 关于java for()循环 remove 的使用
- 关于java for()循环 remove 的使用
- 关于C++中for循环的问题
- 循环中使用List.remove的坑
- 关于JAVA中使用remove方法循环删除list中元素的常见误区
- 关于在Log4j中使用JDBCAppender时出现死循环的问题
- 关于在Log4j中使用JDBCAppender时出现死循环的问题
- 关于在C中如何跳出for循环的一个问题
- java中在for循环中remove元素时的陷阱
- 关于Struts2在web.xml中配置后出现404错误的问题,完美解决方案!
- vb.net 教程 11-1 打印组件 2 PrintDialog 1
- Repeated DNA Sequences
- FreeMarker入门教程
- Linux环境下创建并使用动态链接库
- while练习
- 关于List.remove在for循环中出现问题的解决方案
- Java框架之Hibernate--初识Hibernate
- 用思维导图整理产品结构
- Java网络编程——第十章 非阻塞I/O
- JS if语句
- Java怎么部署工程及访问不带项目名的工程
- PHP语言性能优化——少使用魔术方法
- MFC的Dialog模式创建窗体以及控件绑定
- 进程间通信——共享内存