[集合] Itreator源码解析(3)
本篇文章不长,因为只介绍Itreator接口,而不涉及它的实现。
接口缘由
由于每一个容器都有取出元素的功能。这些功能定义都一样,只不过实现的具体方式不同(因为每一个容器的数据结构不一样)所以对共性的取出功能进行了抽取,从而出现了Iterator接口。而每一个容器都在其内部对该接口进行了内部类的实现。也就是将取出方式的细节进行封装。
Itreator接口是Jdk1.5之后添加的新接口, Collection的父接口。 实现了Iterable的类就是可迭代的。并且支持增强for循环。
该接口只有一个方法即获取迭代器的方法iterator()可以获取每个容器自身的迭代器Iterator。
(Collection)集合容器都需要获取迭代器(Iterator)于是在5.0后又进行了抽取将获取容器迭代器的iterator()方法放入到了Iterable接口中。
Collection接口继承了Iterable,所以Collection体系都具备获取自身迭代器的方法,只不过每个子类集合都进行了重写(因为数据结构不同)。
Iterable接口的源码主要方法就是iterator()、forEach(Consumer<? super T> action)、spliterator()(并行遍历),Iterable接口就不做过多介绍了。后面有机会再看。
接口介绍
Itreator直译过来就是迭代器,迭代可以简单的理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类ÿ
文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。
原文链接:chenhx.blog.csdn.net/article/details/102609731
- 点赞
- 收藏
- 关注作者
评论(0)