亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復 ConcurrentModificationException

如何修復 ConcurrentModificationException

慕森王 2022-11-10 17:17:55
我想在遍歷它時從我的arrayList 中刪除一個項目,并且它ArrayList有一個類型類成員。我已經閱讀了多個有關如何解決此問題的示例,但是沒有一個有效,ConcurrentModificationException仍然被拋出。Iterator<Members> itr = members.iterator();while (itr.hasNext()) {  Members foundMember = itr.next();  if (foundMember.equals(member)){    itr.remove();  }}
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

我最終得到的解決方案是,使用 CopyOnWriteArrayList,而不是使用 remove(); 的 ArrayList nad;方法。



查看完整回答
反對 回復 2022-11-10
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

當然我的第一個解決方案是不正確的facepalm ,如上所述,“.removeIf”很可能是最簡單的解決方案。


只需使用“正?!钡?for 循環(我認為這應該可行,請看一下 這個,順便說一句?!霸鰪姷?for 循環”將不起作用。


List<Member> list1 = new ArrayList<>();

List<Member> list2 = new ArrayList<>(list1);

for (int i = 0; i < list1.size(); i++) {

  Member member = list1.get(i);

  ...

  list2.remove(member);

}

list1 = list2;


查看完整回答
反對 回復 2022-11-10
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號