原文:迭代(遍历)时候不可以使用集合的remove和add方法,但可使用Java迭代器的remove和add方法

不要在 foreach 循环里进行元素的 remove add 操作。remove 元素请使用 Iterator 方式。 反例: 结果 如果将 换成 ,结果就出错了 产生Concurrent Modification Exception原因是:当list.remove Object o 方法之后,modCount和expectedModCount不相等了,然后当代码执行到next 方法时,判断了c ...

2018-02-28 13:10 0 1340 推荐指数:

查看详情

Java中list集合遍历途中不能remove,但可以使用迭代器来删除

简单点来说,在遍历途中是不能使用remove的 上面的代码是错的,因为使用remove把其中的一个实体移除了,整个list就变了,正在遍历的list突然就少了一条,怎么会不报错呢? 这种问题就类似于:你要批量添加一些数据,先把它们装到一个list中,在list集合遍历途中 ...

Thu Sep 24 20:03:00 CST 2020 0 541
Java迭代器Iterator的remove()方法

遍历Java集合(Arraylist,HashSet...)的元素时,可以采用Iterator迭代器来操作 Iterator接口有三个函数,分别是hasNext(),next(),remove()。 今天浅谈remove函数的作用 官方解释为: 译:从底层集合中移除此迭代器 ...

Sat Oct 09 18:55:00 CST 2021 0 3143
List如何选择迭代器进行remove

1.list 如何选择使用选择使用迭代进行移除元素 (1)、使用foreach进行迭代 public static void main(String[] args) {​ List<String> list = new ArrayList<> ...

Sun May 31 03:13:00 CST 2020 0 856
Arrays.asList()不能使用addremove方法的原因

今天无意中测试了一下数组转集合的jdk封装好的工具类Arrays,意外发生了。。。 代码如下: public static void main(String[] args) { Integer[] i = {128,12,1}; List< ...

Thu Nov 01 00:22:00 CST 2018 0 663
迭代器三种遍历方法

迭代器三种遍历方法,其中也有listIterator在遍历中加入新的元素,不会报错 ...

Mon Jul 11 02:13:00 CST 2016 0 7420
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM