arraylist 为什么 删除元素时要使用迭代器而不能使用遍历
Posted shenzhichipingguo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arraylist 为什么 删除元素时要使用迭代器而不能使用遍历相关的知识,希望对你有一定的参考价值。
因为你要是遍历了,arraylist 的长度就变了,容易数组越界和下标问题
public
class
Test {
public
static
void
main(String[] args) {
ArrayList<Integer> list =
new
ArrayList<Integer>();
list.add(
2
);
Iterator<Integer> iterator = list.iterator();
while
(iterator.hasNext()){
Integer integer = iterator.next();
if
(integer==
2
)
iterator.remove();
//注意这个地方
}
}
}
以上是关于arraylist 为什么 删除元素时要使用迭代器而不能使用遍历的主要内容,如果未能解决你的问题,请参考以下文章
关于java中ArrayList的快速失败机制的漏洞——使用迭代器循环时删除倒数第二个元素不会报错