如何在迭代時從‘ArrayList’中刪除元素時避免“ConcurrentModificationException”?我試圖從ArrayList當(dāng)像這樣迭代它的時候:for (String str : myArrayList) {
if (someCondition) {
myArrayList.remove(str);
}}當(dāng)然,我得到了一個ConcurrentModificationException當(dāng)嘗試在迭代時同時從列表中刪除項時myArrayList..有什么簡單的辦法來解決這個問題嗎?
3 回答

蝴蝶刀刀
TA貢獻1801條經(jīng)驗 獲得超8個贊
List<String> toRemove = new ArrayList<String>();for (String str : myArrayList) { if (someCondition) { toRemove.add(str); }}myArrayList.removeAll(toRemove);

翻翻過去那場雪
TA貢獻2065條經(jīng)驗 獲得超14個贊
list.removeIf(...)
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c")); list.removeIf(e -> (someCondition));
添加回答
舉報
0/150
提交
取消