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);
}

使用迭代器可以正常执行

最新文章

  1. 阶段一:解析JSON
  2. 在Winform程序中设置管理员权限及为用户组添加写入权限
  3. asp.net调用客户端WebBrowser 进行网站地址截屏
  4. 预定义指令之debug
  5. C#:实现快捷键自定义设置(转)
  6. 防止ViewPager中的Fragment被销毁的方法,更加流畅
  7. JMeter学习-016-思路篇之-山重水复柳暗花明
  8. 搭建SpringMVC+MyBatis开发框架三
  9. Twenty Questions
  10. 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
  11. FastJSON 简单使用
  12. 每天一个JavaScript实例-推断图片是否载入完毕
  13. 用Python复习离散数学(二)
  14. Java中精确的数字计算类BigDecimal
  15. gunicorn syncworker 源码解析
  16. [LeetCode] Relative Ranks 相对排名
  17. linux第四次读书笔记
  18. linux dd指令
  19. Windows消息循环
  20. ListView鼠标框选实现蓝色蒙板

热门文章

  1. WPF ScrollViewer 没有效果
  2. 使用vscode编辑markdown
  3. MySQL 查询常用操作(0) —— 查询语句的执行顺序
  4. Git多分支 远程仓库 协同开发以及解决冲突
  5. ESXi 安装 Truenas Core 解决企业共享存储免费方案
  6. Codeforces Round #757 (Div. 2) - D2. Divan and Kostomuksha (hard version)
  7. ORACLE 遇到ORA 03113 数据库连接卡住
  8. docker部署rocketmq
  9. Rstudio 快捷键无法使用
  10. 题解[CF1628F]A_Random_Code_Problem