在使用Java中的List集合的foreach循环进行元素遍历时,不能在循环体内删除元素,否则会抛出ConcurrentModificationException异常。
这是因为在使用foreach循环时,Java会使用迭代器来遍历集合中的元素,而在集合被修改时,迭代器可能会失效,从而导致ConcurrentModificationException异常的抛出。
为了避免这个问题,可以使用Iterator的remove()方法来删除元素,这样可以避免ConcurrentModificationException异常的出现。例如:文章来源:https://www.toymoban.com/news/detail-609993.html
List<String> list = new ArrayList<>();
// 添加元素
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (shouldRemove(item)) {
iterator.remove(); // 使用Iterator的remove()方法删除元素
}
}
在这个示例中,我们使用了Iterator来遍历集合中的元素,并且使用了remove()方法来删除元素。这样可以避免使用foreach循环时出现的ConcurrentModificationException异常。文章来源地址https://www.toymoban.com/news/detail-609993.html
到了这里,关于java中 list 集合 foreach 时删除会报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!