JavaSE-14.2.3【并发修改异常ConcurrentModificationException】
1 package day5.lesson2; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 /* 8 2.4 并发修改异常 9 出现的原因 10 迭代器遍历的过程中,通过集合对象修改了集合中的元素,造成了迭代器获取元素中判断预期修改值和实际 11 修改值不一致,则会出现:ConcurrentModificationException 12 解决的方案 13 用for循环遍历,然后用集合对象做对应的操作即可 14 */ 15 public class ListDemo3 { 16 public static void main(String[] args) { 17 List<String> list = new ArrayList<>(); 18 list.add("hello"); 19 list.add("world"); 20 list.add("java"); 21 22 /*Iterator<String> it = list.iterator(); 23 while (it.hasNext()){ 24 String s = it.next(); //java.util.ConcurrentModificationException 25 if(s.equals("world")){ 26 list.add("C++"); 27 } 28 }*/ 29 30 for(int i=0; i<list.size(); i++){ 31 String s = list.get(i); //ok 32 if(s.equals("world")){ 33 list.add("C++"); 34 } 35 } 36 37 System.out.println(list); 38 } 39 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!