在遍历和删除ArrayList中的元素时如何避免java.util.ConcurrentModificationException

在遍历和删除ArrayList中的元素时如何避免java.util.ConcurrentModificationException,第1张

遍历删除ArrayList中的元素时如何避免java.util.ConcurrentModificationException

两种选择:

  • 创建要删除的值的列表,将其添加到循环中的列表中,然后
    originalList.removeAll(valuesToRemove)
    在最后调用
  • remove()
    在迭代器本身上使用该方法。请注意,这意味着你不能使用增强的for循环。
    作为第二个选项的示例,从列表中删除任何长度大于5的字符串:
List<String> list = new ArrayList<String>();...for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) {    String value = iterator.next();    if (value.length() > 5) {        iterator.remove();    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5008981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存