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

Posted xiongjiawei

tags:

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

 1 package com.tn.pattern;
 2 
 3 public class Client {
 4     public static void main(String[] args) {
 5         Object[] objs={"飞","雪","连","天","射","白","鹿","笑","书","神"};
 6         Aggregate aggregate=new ConcreteAggregate(objs);
 7         
 8         Iterator it=aggregate.iterator();
 9         it.first();
10         it.next();
11         System.out.println(it.isDone());
12         it.currentItem();
13         
14         it.first();
15         System.out.println("----------------------------------------");
16         while(!it.isDone()){
17             it.currentItem();
18             it.next();
19         }
20     }
21 }
22 
23 interface Iterator{
24     void first();
25     void next();
26     boolean isDone();
27     void currentItem();
28 }
29 
30 interface Aggregate{
31     Iterator iterator();
32 }
33 
34 class ConcreteAggregate implements Aggregate{
35     private Object[] datas=new Object[10];
36     
37     public ConcreteAggregate(Object[] objs){
38         this.datas=objs;
39     }
40     
41     public Iterator iterator(){
42         return new ConcreteIterator();
43     }
44     
45     class ConcreteIterator implements Iterator{
46         private int index;
47         @Override
48         public void first() {
49             index=0;
50         }
51         @Override
52         public void next() {
53             index++;
54         }
55         @Override
56         public boolean isDone() {
57             return index>=datas.length;
58         }
59         @Override
60         public void currentItem() {
61             if(index<datas.length)
62                 System.out.println(datas[index]);
63         }
64     }
65 }

 

以上是关于java设计模式行为模式Behavioral Pattern迭代器模式Iterator Pattern的主要内容,如果未能解决你的问题,请参考以下文章

编程思想设计模式行为模式Behavioral备忘录模式Memento

编程思想设计模式行为模式Behavioral观察者模式Observer

Java设计模式(创建型:工厂方法模式)

编程思想设计模式行为模式BehavioralSpecification

编程思想设计模式行为模式Behavioralregistry

Java设计模式(创建型:工厂方法模式+抽象工厂模式)