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。