Java设计模式学习:1. Iterator模式
Posted 小可爱的大笨蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java设计模式学习:1. Iterator模式相关的知识,希望对你有一定的参考价值。
之所以要引入Iterator,是因为引入Iterator模式后可以将遍历与实现分离开。
Iterator模式提到了四个概念:Iterator(迭代器)、ConcreteIteator(具体的迭代器)、Aggregate(集合)、 ConcreteAggregate(具体的集合):
- Iterator负责定义按顺序逐个遍历元素的接口。
- ConcreIteator负责实现Iterator角色所定义的接口。
- Aggregate负责定义创建Iterator角色的接口。
- ConcreteAggregate负责实现Aggregate角色所定义的接口。
针对上述模式,编写了示例程序:
其中Main.java的代码为:
整体的结构框图:
BookShelf是书架(容器),可以存放很多的Book,BookShelfIterator是书架的迭代器,可以取出书架中当前书并且指向下一个方法(next方法),同时检测书架中是否还有书(hasNext方法)。
Aggregate和Iterator是Interface,一个表示集合的接口,一个是遍历集合的接口,BookShelf是Aggregate的具体实现,BookShelfIterater是Iterator的具体实现。
程序运行结果:
以上是关于Java设计模式学习:1. Iterator模式的主要内容,如果未能解决你的问题,请参考以下文章
java设计模式行为模式Behavioral Pattern迭代器模式Iterator Pattern