zoukankan      html  css  js  c++  java
  • 迭代器模式

    /**
    * 迭代器模式
    *
    * 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
    * 应用实例:JAVA 中的 iterator。
    *
    */
    public class IteratorPattern {
    }

    // 叙述导航方法接口
    interface Iterator {
    public boolean hasNext();
    public Object next();
    }

    //返回迭代器的接口
    interface Container {
    public Iterator getIterator();
    }
    //接口实现类
    class NameRepository implements Container {
    public String names[] = {"Robert" , "John" ,"Julie" , "Lora"};

    @Override
    public Iterator getIterator() {
    return new NameIterator();
    }

    private class NameIterator implements Iterator {

    int index;

    @Override
    public boolean hasNext() {
    if(index < names.length){
    return true;
    }
    return false;
    }

    @Override
    public Object next() {
    if(this.hasNext()){
    return names[index++];
    }
    return null;
    }
    }
    }
    class IteratorPatternDemo {
    public static void main(String[] args) {
    NameRepository namesRepository = new NameRepository();

    for(Iterator iter = namesRepository.getIterator(); iter.hasNext();){
    String name = (String)iter.next();
    System.out.println("Name : " + name);
    }
    }
    }

  • 相关阅读:
    HUD 问题
    嵌入式面试
    网上某人面试经验总结
    C中prngtf是从右到左压栈的
    哈希表
    做事原则
    学习单片机的步骤
    C#预处理器命令
    CWinApp类CMultiDocTemplate类CDocument类CView类的关系
    Windows消息大全
  • 原文地址:https://www.cnblogs.com/huangyin/p/5969852.html
Copyright © 2011-2022 走看看