迭代器

作者: helinyu | 来源:发表于2021-09-07 16:07 被阅读0次

定义:提供一种方法顺序访问一个聚合对象中各个元素,而有不暴露该对象的内部表示

生活例子:
1》公交上的售票员,一个个乘客去买票
2》卖水机器上,一瓶瓶的出来的

使用迭代器的情况:
1》 当你需要对聚集有多种方式遍历时候。
2》需要访问聚集对象的内容,而有不暴露其内部表示
3》需要提供一个统一的接口,用来遍历各种类型的聚集对象。

迭代器(Iterator)模式:分类了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。

Cocoa touch

NSEnumerator 类的私有具体子类返回枚举器对象,可以遍历各种聚集。
基于块的枚举
快速枚举 for ...in
内部枚举 makeObjectsPerformSelector:

外部迭代器 内部迭代器

PS: 迭代器与访问者有点类似,尤其是把遍历算法放到访问者中或者在遍历聚合体时让内部迭代器对元素执行操作的时候。

一般和其他相关的模式有组合工厂方法备忘录。 组合模式常常依靠迭代器来遍历其递归结构。 多态的迭代器依靠工厂方法来实例化适当的迭代器具体子类。 有时,备忘录跟迭代器模式一起使用。 迭代器可以使用备忘录来截取迭代的状态。 迭代器的内部保存备忘录,在以后从它回复其内部状态。

相关文章

  • 迭代器

    本节实验我们将为大家讲解迭代器,主要介绍 5 种常见迭代器:输入、输出迭代器,前向逆向迭代器,双向迭代器和随机迭代...

  • 迭代器与生成器

    迭代(iteration)与可迭代(iterable) 迭代器 迭代器协议(iterator protocol) ...

  • 10.迭代器与生成器

    一、迭代器 1). 迭代器概述 类比Java中的迭代器,参考迭代器模式https://www.jianshu.co...

  • 9 ES6 迭代器、生成器

    1、Iterator迭代器 ->遵循迭代模式思想实现,分为内部迭代器、外部迭代器,聚焦点:添加迭代接口 (1).迭...

  • C++boolan part3_week4

    1. 迭代器 1.1 迭代器的种类 使用随机访问迭代器的容器:array, vector,deque使用双向迭代器...

  • 迭代器模式

    内部迭代器和外部迭代器 简单地讲,内部迭代器就是类似 forEach 的迭代器,其内部迭代逻辑已经制定好,只要传入...

  • vector erase的用法

    正向迭代器: 反向迭代器:

  • 10 python中的迭代器和生成器

    1 迭代器 遵循了迭代器协议的对象为迭代器,即内部调用iter()方法转化成的对象为成迭代器。 1.1 迭代器的特...

  • 第7章迭代器模式

    第7章迭代器模式 7.1 jQuery中的迭代器 7.2 实现自己的迭代器 7.3 内部迭代和外部迭代 1内部迭代...

  • 我们来讲讲Python的迭代器

    迭代器 迭代器的作用:迭代器的作用就是迭代,可以让不是序列但是表现出序列行为,例如迭代字典的键,文件的行 迭代器的...

网友评论

    本文标题:迭代器

    本文链接:https://www.haomeiwen.com/subject/kdcpwltx.html