该设计模式是为了方便客户端将希望遍历的被放入容器、集合类的一组ADT对象,无需关心容器的具体类型。

也就是说,不管对象放在哪里,都提供同样的遍历方式。‘’

更简单的说,无论是Set、Map、List,只要客户端想要遍历,你就能提供一个统一方法。

放在具体实现,简单来说又以下几步:

1. 对于ADT实现Iterable接口,并且完成该接口的实现方法。这个方法用于返回一个具体的迭代器对象

例如:

public Iterator<Car> iterate(){return new ParkingFieldIterator();
}

2. 实现Interator接口

在这个实现方法内,主要完成两个方法的重写:hasnext和next,前者用于判读迭代器是否能够遍历下一个变量,后者用于遍历下一个变量。如果愿意,还可以实现remove(注意计数器的可变性)。

设计模式之Iterator遍历器模式相关推荐

  1. Iterator 遍历器的简单使用

    Object接口 实现Iterator 我们可以使用 ES6 的展开运算符 - 和 for-of- 去遍历带有 Iterator 接口的数据结构,需要注意的是,Object 本身不具备 Iterato ...

  2. 第十四节:ES6的 Iterator 遍历器到底是什么?

    对一个事物足够热爱,才会有这样的热情... 冲着这位同学的学习热情,前端君今晚就给大家再来一发. for...of为啥不遍历Object对象 第十三节我们讲了简单又实用的for...of,我们可以使用 ...

  3. Iterator遍历器和原生可遍历

    1. Iterator遍历器 ①Iterator是一个遍历器(迭代器),是一个统一的遍历方式.Iterator寻找是找不到,该方法在对象原型链上可以找到,Symbol.iterator():调用该方法 ...

  4. Iterator遍历器的使用

    Iterator遍历器的作用 JS语言中包含众多具有"集合"性质的数据结构--比如数组.对象.Set以及Map等,很多时候用户会将其进行组合使用,比如数组里边嵌套对象,或是数组里边 ...

  5. 设计模式之【装饰器模式】

    和表妹去喝奶茶 表妹:哥啊,我想喝奶茶. 我:走啊,去哪里喝? 表妹:走,我带你去,我经常去的那家,不但好喝,还可以自由搭配很多小料.我每次都是不同的搭配,换着喝,嘻嘻. 我:你倒是挺会喝的嘛~ 你看 ...

  6. 设计模式篇——初探装饰器模式

    文章目录 1.装饰器模式介绍 2.装饰器模式类图 3.装饰器模式Demo实现(一个小镇的拉面馆) 4.装饰器模式总结 装饰器模式介绍:装饰器模式可以在不修改任何底层代码的情况下,给对象赋予新的职责(程 ...

  7. Java设计模式12:装饰器模式

    装饰器模式 装饰器模式又称为包装(Wrapper)模式.装饰器模式以多客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰器模式的结构 通常给对象添加功能,要么直接修改对象添加相应的功能, ...

  8. java中装饰器_Java设计模式12:装饰器模式

    装饰器模式 装饰器模式又称为包装(Wrapper)模式.装饰器模式以多客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰器模式的结构 通常给对象添加功能,要么直接修改对象添加相应的功能, ...

  9. 【ES6】Set Map数据结构、Iterator遍历器

    Set() Set类似于数组,但是成员的值都是唯一的,没有重复的值.Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); let arr = [2, 3, ...

最新文章

  1. 阿里技术专家推荐的几个公众号!
  2. Uber将整体式API拆分为微服务
  3. services.xml应该放在项目的哪里_行车中手机支架到底应该放在哪里呢?出风口、方向盘、仪表台?...
  4. tensorboard的初次使用
  5. stm8s003程序跑飞_A股要大跌?跑不跑就看明天……
  6. html文档打开错误,我的html的文档无法打开,打开也是报错
  7. IMail邮件服务-1
  8. BIO ,NIO,AIO的区别
  9. 详解:Hive的MetaStore和三种配置方式
  10. IE6的height小BUG
  11. zookeeper 可以干什么
  12. 在线制作流程图、思维导图(基于ProcessOn平台)
  13. 前端-JS基础之数据类型
  14. Flink 灵魂两百问,这谁顶得住?
  15. 塞班s60v3手电筒sisx_塞班s60v3 手电筒
  16. 搭建vue脚手架(vue-cli)--基于vue2.0版本
  17. 一般熟练盲打需要多久_练习拼音打字练到[盲打]的境界一般需要多久(时间)?...
  18. PyTorch实践系列(二):GPU与CPU运行对比
  19. graphpad细胞增殖曲线_应用GraphPad Prism制作生存曲线详细图文过程
  20. 《电脑报2014年》更新至第51期

热门文章

  1. Lower Power with CPF(一)
  2. java WebDriver + selenium 调用 谷歌驱动 chromedriver 实现 在 liunx 环境下 无界面 截图 加自动获取页面最大真实页面内容高宽 加各类型踩坑日记
  3. 如何调教一个定制化的ChatGPT私人助理,接入自家知识库
  4. 中科大软件学院高软期末试题回忆版
  5. OpenH323 Gatekeeper - The GNU Gatekeeper 使用手册
  6. 自然语言处理总复习(十一)—— 信息检索
  7. matlab——智能算法之粒子群优化算法、模拟退火算法、遗传算法
  8. 2021-8-25【PTA】【九连环问题】
  9. 【已解决】除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图...
  10. 下载各平台的课程视频链接的m3u8