设计模式-迭代器模式
|Word count:307|Reading time:1min|Post View:
设计模式-迭代器模式

1 2 3 4 5 6 7 8
| /* * 创建一个叙述导航方法的 Iterator 接口和一个返回迭代器的 Container 接口 * 实现了 Container 接口的实体类将负责实现 Iterator 接口 */ public interface Iterator { public boolean hasNext(); public Object next(); }
|
1 2 3 4
| public interface Container { public Iterator getIterator(); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| /** * 创建实现了 Container 接口的实体类。 * 该类有实现了 Iterator 接口的内部类 NameIterator */ 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() { if (index < names.length){ return true; } return false; }
@Override public Object next() { if (this.hasNext()){ return names[index++]; } return null; } } }
|
1 2 3 4 5 6 7 8 9 10
| 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); } } }
|