设计模式学习笔记Iterator

Posted zwvista

tags:

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

Iterator 模式

技术分享图片

public interface Iterator {
   public boolean hasNext();
   public Object next();
}
public interface Container {
   public Iterator getIterator();
}
public 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() {
        return index < names.length;
      }

      @Override
      public Object next() {
        return hasNext() ? names[index++] : null;
      }     
   }
}
public 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);
      }     
   }
}
Name : Robert
Name : John
Name : Julie
Name : Lora

以上是关于设计模式学习笔记Iterator的主要内容,如果未能解决你的问题,请参考以下文章

STL标准库 & 范型编程学习笔记:迭代器的设计原则和Iterator Traits的作用与设计

《javascript高级程序设计》学习笔记 | 7.2.迭代器模式

STL学习笔记--3迭代器iterator与traits编程

学习笔记:python3,代码片段(2017)

1.设计模式-------Iterator

ES学习笔记