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 为什么 删除元素时要使用迭代器而不能使用遍历的主要内容,如果未能解决你的问题,请参考以下文章

ArrayList中Iterator的研究学习

关于java中ArrayList的快速失败机制的漏洞——使用迭代器循环时删除倒数第二个元素不会报错

面试题整理

将 ArrayList 嵌入式循环转换为迭代器

在 Java 中使用迭代器时向 ArrayList 添加元素

Iterator迭代器