原文:ArrayList一边遍历一边删除元素,可能会产生bug!

有时候我们需要对ArrayList进行遍历,然后根据条件删除元素,就像下面这样: 然后会报如下的错误: 我们看一下生成的class文件的反编译的结果: 可以看到,这里遍历用的是ArrayList实现的迭代器Iterator的hasNext next 方法,但是删除用的却是ArrayList的remove Object o 方法。这样迭代器无法得知ArrayList中元素的变化,比如ArrayLis ...

2020-04-11 21:42 0 698 推荐指数:

查看详情

JAVA List 一边遍历一边删除元素

JAVA List 一边遍历一边删除元素,报java.util.ConcurrentModificationException异常 2015年02月10日 14:42:49 zhanzkw 阅读数:3016更多 个人分类: JAVA ...

Wed Oct 31 01:25:00 CST 2018 0 1629
List如何一边遍历一边删除

1.新手常犯的错误 可能很多新手(包括当年的我,哈哈)第一时间想到的写法是下面这样的: 然后满怀信心的去运行,结果竟然抛java.util.ConcurrentModificatio ...

Sat Apr 18 02:50:00 CST 2020 0 1798
【Java面试题】List如何一边遍历一边删除

这是最近面试时被问到的1道面试题,本篇博客对此问题进行总结分享。 1. 新手常犯的错误 可能很多新手(包括当年的我,哈哈)第一时间想到的写法是下面这样的: 然后满怀信心的去运行,结果竟然抛j ...

Fri Mar 20 20:04:00 CST 2020 4 9083
为什么大厂一边裁员,一边招人?

阅读本文大概需要7分钟。 最近各家大厂都传来裁员的消息,比如京东、腾讯、百度等都有不同程度的动作。 硬币的另一面,大厂的招聘却依然火爆,比如前不久腾讯和阿里华为都宣布了2022年的招聘计 ...

Mon Apr 18 04:36:00 CST 2022 0 619
遍历ArrayList删除指定元素

清空List,直接调用clear()方法,或者直接赋值为null便可。那删除List中指定元素呢? 遍历list,遍历到符合条件的元素,then remove()? 我们来看下面三种代码就知道结果啦。 删除前集合的长度为:6:[1, 2, 3, 4, 4, 5] 0---1 ...

Sun Apr 15 22:42:00 CST 2018 0 5029
ArrayList循环遍历删除元素的常见陷阱

在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出bug。不妨把这个问题当做一道面试题目,我想一定能难道不少的人。今天就给大家说一下在ArrayList循环遍历删除元素的问题。首先请看下面的例子: 如果要想删除list的b字符,有下面 ...

Fri Aug 10 23:18:00 CST 2018 2 20263
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM