Java中迭代器如何工作

本文详细介绍了Java中迭代器的工作原理,包括何时抛出`IllegalStateException`和`ConcurrentModificationException`,以及Iterator和ListIterator的主要区别。在Java中,非法状态异常通常发生在调用`remove()`方法之前没有调用`next()`方法时。并发修改异常则会在集合在迭代过程中被外部修改时抛出。此外,Iterator适用于所有集合,而ListIterator仅用于List接口的实现,它允许双向遍历并添加元素。
摘要由CSDN通过智能技术生成

你将在面试中被问这个问题很多次,比如,在Java中迭代器(Iterator)如何工作的,怎么删除List中的元素?什么时候抛出IllegalStateException? 什么时候在会抛出ConcurrentModificationException? Iterator和ListIterator之间的区别?

什么时候抛出IllegalStateException

Java迭代器接口定义如下

public interface Iterator<E> {
   
    boolean hasNext();
    E next();
    void remove();
}

hasNext() 如果仍有元素可以迭代,则返回 true。
next() 返回迭代的下一个元素。
remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。否则抛出IllegalStateException,如下

Iterator<Integer> iterator1=arrayList.iterator</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值