WEB开发网
开发学院软件开发Java hand first 设计模式 -迭代器模式 阅读

hand first 设计模式 -迭代器模式

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示: 所有菜单接口 Java代码publicinterfaceMenu{//创建迭代器publicIteratorcreateIterator();}数组迭代器 Java代码publicclassArrayIterator<T>implementsIterator{privateT[]ar

所有菜单接口

Java代码   

public interface Menu { 
 
 //创建迭代器 
     public Iterator createIterator(); 
 
}

数组迭代器

Java代码   

public class ArrayIterator<T> implements Iterator { 
 
 private T[] arr; 
 
 private int index = -1; 
 
 public ArrayIterator(T[] arr) { 
 this.arr = arr; 
 } 
 
 @Override 
 public boolean hasNext() { 
 // TODO Auto-generated method stub 
 index++; 
 if(index>arr.length-1) 
  return false; 
 return arr[index] != null; 
 
 } 
 
 @Override 
 public T next() { 
 // TODO Auto-generated method stub 
 return arr[index]; 
 } 
 
 @Override 
 public void remove() { 
 // TODO Auto-generated method stub 
 throw new UnsupportedOperationException(); 
 
 } 
 
}

测试类--打印所有菜单

Java代码

public class Test {  
  
    
  /** 
   * @param args 
   */  
  public static void main(String[] args) {  
    // TODO Auto-generated method stub  
    Test test = new Test();  
      
    Menu a = new AMenu();  
      
    Menu b = new BMenu();  
      
    test.printMenu(a,b);  
  
  }  
    
  private void printMenu(Menu...menus){  
    for(Menu menu:menus){  
      Iterator iterator = menu.createIterator();  
      while(iterator.hasNext()){  
        System.out.println(iterator.next());  
      }  
    }  
      
  }  

上一页  1 2 3 

Tags:hand first 设计模式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接