java.util.Iterator接口源码解析

Iterator

正常大家再循环集合的时候,如果删除了或者添加了元素,可能就会出现问题,而用Iterator去删除元素就不会出问题,自己也不用考虑下标问题。

介绍

Iterator是一个集合迭代器,取代Enumeration,允许调用者去移除元素。如果实现类没有线程安全策略,多线程情况下调用里面的方法可能会抛出ConcurrentModificationException异常。

方法

hasNext

boolean hasNext();

如果迭代器还有剩余迭代的元素,返回true

next

E next();

返回迭代器中的下一个元素

remove

default void remove() {
        throw new UnsupportedOperationException("remove");
}

从底层集合中移除被这个迭代器最后一次返回的元素,这个方法每个next()后只能调用一次

forEachRemaining

default void forEachRemaining(Consumer<? super E> action) {
        Objects.requireNonNull(action);
        while (hasNext())
            action.accept(next());
}

对于剩余的所有元素,执行指定的操作

实时内容请关注微信公众号,公众号与博客同时更新:程序员星星
实时内容请关注微信公众号,公众号与博客同时更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值