小Q:什么是设计模式
慢慢:设计模式是系统服务设计中针对常见场景的一种解决方案,可以解决功能逻辑开发中遇到的共性问题。设计模式并不局限最终的实现方案,而是在这种概念模式下,解决系统设计中的代码逻辑问题。
小Q:什么是迭代器模式?
慢慢:迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又无需暴露该对象的内部表示。
小Q:赶快上代码。
慢慢:好的,先定义一个迭代器接口:
public interface Iterator {
public boolean hasNext();
public Object next();
}
实际的迭代器对象:
public class NameIterator implements Iterator {
int index = 0;
@Override
public boolean hasNext() {
if (index < names.length) {
return true;
}
return false;
}
@Override
public Object next() {
if (this.hasNext()) {
return names[index++];
}
return null;
}
}
容器接口:
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();
}
}
测试:
public class Demo {
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);
}
}
}