Java设计模式学习:1. Iterator模式

Posted 小可爱的大笨蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java设计模式学习:1. Iterator模式相关的知识,希望对你有一定的参考价值。

        之所以要引入Iterator,是因为引入Iterator模式后可以将遍历与实现分离开

        Iterator模式提到了四个概念:Iterator(迭代器)、ConcreteIteator(具体的迭代器)、Aggregate(集合)、 ConcreteAggregate(具体的集合):

  1. Iterator负责定义按顺序逐个遍历元素的接口。
  2. ConcreIteator负责实现Iterator角色所定义的接口。
  3. Aggregate负责定义创建Iterator角色的接口。
  4. ConcreteAggregate负责实现Aggregate角色所定义的接口。

针对上述模式,编写了示例程序:

其中Main.java的代码为:

整体的结构框图:

BookShelf是书架(容器),可以存放很多的Book,BookShelfIterator是书架的迭代器,可以取出书架中当前书并且指向下一个方法(next方法),同时检测书架中是否还有书(hasNext方法)。

Aggregate和Iterator是Interface,一个表示集合的接口,一个是遍历集合的接口,BookShelf是Aggregate的具体实现,BookShelfIterater是Iterator的具体实现。

程序运行结果:

以上是关于Java设计模式学习:1. Iterator模式的主要内容,如果未能解决你的问题,请参考以下文章

java设计模式行为模式Behavioral Pattern迭代器模式Iterator Pattern

0801-JAVA学习

尚硅谷设计模式学习(17)---[迭代器模式(Iterator Pattern)]

Java中的Iterator用法

设计模式学习笔记Iterator

Java设计模式之Iterator