迭代器Iterator&列表迭代器ListIterator

本文详细介绍了Java中的迭代器Iterator和列表迭代器ListIterator。Iterator是集合遍历的基本工具,提供了hasNext()和next()等方法。ListIterator扩展了Iterator接口,支持双向遍历和在遍历时添加元素等功能。两者的主要区别在于ListIterator具有更多的操作,如add()、hasPrevious()、previous()、set()等,适用于List类型的数据结构。
摘要由CSDN通过智能技术生成


一、迭代器Iterator

概述

  Java Iterator(迭代器)Iterator是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。
  Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。

基本操作

常用:
   boolean hasNext() : 判断迭代器内是否还有下一个元素
  next() : 返回迭代器中的下一个元素
不常用:
  default void forEachRemaining(Consumer<?super E>action) : 对每个剩余元素执行给定的操作,直到所有元素都被处理或动过引发异常
  default void remove() : 从底层集合中删除此迭代器的最后一个元素

注意事项

1.迭代过程中不能进行增加元素操作,只能通过普通的循环进行,如一定要在迭代过程中进行删除操作,也只能使用迭代器自带的remove()方法。否则会触发并发修改异常。

补充:
并发修改异常
迭代器遍历的过程中,通过集合对象修改了集合中的元素,造成了迭代器获取元素中判断预期修改值和实际修改值不一致,则会出现:ConcurrentModificationException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值