如何在迭代时从‘ArrayList’中删除元素时避免“ConcurrentModificationException”?我试图从ArrayList当像这样迭代它的时候:for (String str : myArrayList) {
if (someCondition) {
myArrayList.remove(str);
}}当然,我得到了一个ConcurrentModificationException当尝试在迭代时同时从列表中删除项时myArrayList..有什么简单的办法来解决这个问题吗?
3 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
List<String> toRemove = new ArrayList<String>();for (String str : myArrayList) {
if (someCondition) {
toRemove.add(str);
}}myArrayList.removeAll(toRemove);
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
list.removeIf(...)
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
list.removeIf(e -> (someCondition));添加回答
举报
0/150
提交
取消
