迭代器模式 (Iterator Pattern)
提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
public class Main { public static void main(String[] args) { // 使用 NameRepository 来获取迭代器,并打印名字 NameRepository namesRepository = new NameRepository(); Iterator iter = namesRepository.getIterator(); while(iter.hasNext()) { String name = (String)iter.next(); System.out.println("Name : " + name); } } } interface Iterator { public boolean hasNext(); public Object next(); } // Container中含有一个迭代器 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; } } }

浙公网安备 33010602011771号