首页 > 其他 > 详细

(设计模式)迭代器

时间:2021-05-10 00:27:26      阅读:18      评论:0      收藏:0      [点我收藏+]

迭代器是用来遍历容器的工具,迭代器内部封装了容器遍历的细节。

因为容器可能比较多,而且结构也可能各不相同,例如有:数组、哈希表、链表、跳表、红黑树、多路树、图等等。因此,每种容器一般都会提供各自的迭代器,用于遍历容器里的数据。

每种容器都有自己的迭代器,但如果每种迭代器接口不统一,那么使用成本极高,因此每个容器的迭代器都必须统一规范。例如:JDK 的迭代器接口,主要定义三个方法,分别是 hasNext、next 和 remove。如下:

技术分享图片

在遍历容器的数据时,只需要使用其迭代器的 hasNext、next 这两个方法即可,用 hasNext 判断容器是否有数据,next 获取容器的数据,直到容器的数据遍历完,所有容器都是这么操作。

模式分析:

1、统一容器遍历规范,遍历时只需要知道 “还有没有数据” 和 “下一个数据” 就行,极大简化遍历方式。

2、封装容器具体的遍历细节,不暴露容器的具体结构,符合迪米特原则。

本篇文章由一文多发平台ArtiPub自动发布

(设计模式)迭代器

原文:https://www.cnblogs.com/esdeathmaster/p/14749149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!