Java迭代器,就是这么简单

迭代器

迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。

迭代器模式(Iterator Pattern) :它提供一种方式访问一个容器对象的各个元素,而又不需暴露该对象的内部细节。

Java迭代器相关类

1.java.util.Iterator

在Java中Iterator为一个接口,它只提供了迭代器的基本规则。主要提供了以下4个方法

在这里插入图片描述

2.Iteratable接口

Java中还提供了一个Iterable接口,Iterable接口实现后的功能是‘返回’一个迭代器,我们常用的实现了该接口的子接口有:Collection、List、Set等。该接口的iterator()方法返回一个标准的Iterator实现。实现Iterable接口允许对象成为Foreach语句的目标,就可以通过foreach语句来遍历你的底层序列。
在这里插入图片描述

3.迭代器的使用

/**
* Returns the next element in the iteration.
*
* @return the next element in the iteration
* @throws NoSuchElementException if the iteration has no more elements
*/
E next();

next()方法:一开始迭代器在所有元素的左边,调用next()之后,迭代器会移到第一个和第二个元素之间,next()方法返回迭代器刚刚经过的元素。next方法不仅会移动迭代器,并且会返回经过的元素,如果没有元素,会抛出NoSuchElementException

迭代器的使用主要有以下三个方面的注意事项:

使用容器的iterator()方法返回一个Iterator对象,然后通过Iterator的next()方法返回第一个元素。

使用Iterator的hasNext()方法判断容器中是否还有元素,如果有,可以使用next()方法获取下一个元素。

可以通过remove()方法删除迭代器返回的元素。

自定义迭代器

自定义迭代器只需要实现Iterable接口,重写iterator()方法,iterator()返回我们自己定义的迭代器(实现Iterator接口的类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值