使用迭代器安全地进行迭代
使用迭代器迭代集合时修改集合foreach 循环可能会导致错误。要在迭代期间安全地删除元素,请使用显式迭代器。
List<String> names = ... Iterator<String> i = names.iterator(); while (i.hasNext()) { String s = i.next(); if (...) { i.remove(); } }
并发修改异常
如果不使用迭代器,代码将失败并出现 ConcurrentModificationException,如果集合在迭代期间被修改。显式迭代器确保跟踪更改并反映在底层集合中。
嵌套删除注意事项
在提供的示例中,内部 while 循环继续删除相同的元素,直到它不再存在。虽然技术上合法,但除非有非常具体的原因,否则通常被认为是不好的做法。
以上是如何在迭代过程中安全地从 Java 列表中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!