遍历List时删除元素导致List抛出java.util.ConcurrentModificationException异常
2024-10-20 04:40:48
1 public static void main(String[] args) {
2 List<String> list = new ArrayList<String>();
3 list.add("1");
4 list.add("2");
5 list.add("3");
6 list.add("4");
7 list.add("5");
8 System.out.println("Original list : " + list);
9 System.out.println();
10
11 for (String temp : list) {
12 System.out.println("Check for " + temp);
13 if ("3".equals(temp)) {
14 list.remove(temp);
15 }
16 }
17
18 System.out.println("Removed list : " + list);
19 }
执行以上代码抛出 java.util.ConcurrentModificationException 异常
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
System.out.println("Original list : " + list);
System.out.println(); Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String temp = iterator.next();
System.out.println("Check for " + temp);
if("3".equals(temp)){
iterator.remove();
}
}
System.out.println("Removed list : " + list);
}
使用迭代器可以正常执行
最新文章
- 阶段一:解析JSON
- 在Winform程序中设置管理员权限及为用户组添加写入权限
- asp.net调用客户端WebBrowser 进行网站地址截屏
- 预定义指令之debug
- C#:实现快捷键自定义设置(转)
- 防止ViewPager中的Fragment被销毁的方法,更加流畅
- JMeter学习-016-思路篇之-山重水复柳暗花明
- 搭建SpringMVC+MyBatis开发框架三
- Twenty Questions
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- FastJSON 简单使用
- 每天一个JavaScript实例-推断图片是否载入完毕
- 用Python复习离散数学(二)
- Java中精确的数字计算类BigDecimal
- gunicorn syncworker 源码解析
- [LeetCode] Relative Ranks 相对排名
- linux第四次读书笔记
- linux dd指令
- Windows消息循环
- ListView鼠标框选实现蓝色蒙板
热门文章
- WPF ScrollViewer 没有效果
- 使用vscode编辑markdown
- MySQL 查询常用操作(0) —— 查询语句的执行顺序
- Git多分支 远程仓库 协同开发以及解决冲突
- ESXi 安装 Truenas Core 解决企业共享存储免费方案
- Codeforces Round #757 (Div. 2) - D2. Divan and Kostomuksha (hard version)
- ORACLE 遇到ORA 03113 数据库连接卡住
- docker部署rocketmq
- Rstudio 快捷键无法使用
- 题解[CF1628F]A_Random_Code_Problem