zoukankan      html  css  js  c++  java
  • 【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 }
  • 相关阅读:
    个人总结---小水长流,则能穿石
    软件工程与UML作业3(互评作业)
    软件工程与UML作业2
    软件工程与UML作业1
    大创省级答辩总结
    C语言知识汇编
    C语言知识点汇集
    C语言汇总3
    C语言汇总2
    c语言汇总1
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/6846128.html
Copyright © 2011-2022 走看看