java.util.ConcurrentModificationException

生活 时间:2026-04-08 08:18:59 阅读:5969
java.util.ConcurrentModificationException

最佳回答

懵懂的往事

仁爱的酒窝

2026-04-08 08:18:59

不防在if(){.......;}加上break; 修改如下: if(ia.getId()==k){ n++; list.remove(ia); break; }

最新回答共有4条回答

  • 鲤鱼红酒
    回复
    2026-04-08 08:18:59

    不防在if(){.......;}加上break; 修改如下: if(ia.getId()==k){ n++; list.remove(ia); break; }

  • 聪慧的超短裙
    回复
    2026-04-08 08:18:59

    这个问题是说,你不能在对一个List进行遍历的时候将其中的元素删除掉 解决办法是,你可以先将要删除的元素用另一个list装起来,等遍历结束再remove掉 可以这样写 List delList = new ArrayList();//用来装需要删除的元素 for(Information ia:list) if(ia.getId()==k){ n++; delList.add(ia); } list.removeAll(delList);//遍历完成后执行删除

  • 友好的方盒
    回复
    2026-04-08 08:18:59

    ArrayList 遍历的时候做移除会有并发的错误。使用CopyOnWriteArrayList可解决这个问题。 Collection users = new CopyOnWriteArrayList(); // ArrayList();使用这个会报错。 users.add(new User("aaa","1")); users.add(new User("bbb","2")); users.add(new User("ccc","3")); Iterator it = users.iterator(); while(it.hasNext()){ System_out.println("111"); User user = it.next(); if(user.getName().equals("aaa")){ users.remove(user); }else{ System_out.println(user.toString()); } }

上一篇 有没有类似诸神战纪之堕落天使路西法的Java游戏?

下一篇 在家听歌。 《分手快乐》《分手假期》《最后一次分手》《流着泪说分手》《和平分手》《安静分手》《分手