首页 > 代码库 > 【java设计模式】【行为模式Behavioral Pattern】迭代器模式Iterator Pattern
【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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。