首页 > Java > java教程 > 如何在迭代过程中安全地从 Java 列表中删除元素?

如何在迭代过程中安全地从 Java 列表中删除元素?

Patricia Arquette
发布: 2024-12-31 18:42:10
原创
570 人浏览过

How to Safely Remove Elements from a Java List During Iteration?

在 Java 中的 Foreach 循环中调用移除

使用迭代器安全地进行迭代

使用迭代器迭代集合时修改集合foreach 循环可能会导致错误。要在迭代期间安全地删除元素,请使用显式迭代器。

List<String> names = ...
Iterator<String> i = names.iterator();
while (i.hasNext()) {
    String s = i.next();
    if (...) {
        i.remove();
    }
}
登录后复制

并发修改异常

如果不使用迭代器,代码将失败并出现 ConcurrentModificationException,如果集合在迭代期间被修改。显式迭代器确保跟踪更改并反映在底层集合中。

嵌套删除注意事项

在提供的示例中,内部 while 循环继续删除相同的元素,直到它不再存在。虽然技术上合法,但除非有非常具体的原因,否则通常被认为是不好的做法。

以上是如何在迭代过程中安全地从 Java 列表中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板