设计模式13——行为型模式——迭代器模式

1、概念

迭代器模式是”duck-typing”的一种应用场景,核心思想是忽略其类型和数据结构,抽象它们的公共行为。

迭代器模式忽略集合类的类型和数据结构,抽象它们的遍历行为,并将遍历的职责委托给迭代器类(Iterator)。

在Java中,它的主要应用场景是集合。在JS的ES6版本中,它弱化了集合的概念,任何JS对象都是可以遍历的。

在Java中,与迭代器相关的两个主要类是Iterable接口,另外一个是Iterator类。

2、UML图

3、代码

参考Collection,Iterator接口的源码。

4、讨论

问题1:容器在迭代过程中可能出现的异常情况有哪些?

答:参考https://www.cnblogs.com/dolphin0520/p/3933551.html

5、示例

Duck-typing是一种很重要的思想,下述示例是duck-typing的应用示例。

  • Java中的比较接口,Comparable,Comparator。
posted @ 2018-11-10 22:25  蜗牛旅行1899  阅读(101)  评论(0编辑  收藏  举报