迭代器模式
GuoJun 2022-05-18 设计模式
# 简介
迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。
# 实现
- 创建接口
public interface Iterator {
boolean hasNext();
Object next();
}
public interface Container {
Iterator getIterator();
}
- 创建实现类Container接口的实体类,该类有实现了Iterator接口的内部类 NameIterator
public class NameRepository implements Container {
public String[] names = {"张三", "李思", "王五", "赵六", "孙七", "杨八"};
@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;
}
}
}
- 使用NameRepository来获取迭代器,并打印名字
public class IteratorPatternDemo {
public static void main(String[] args) {
NameRepository nameRepository = new NameRepository();
for(Iterator iter = nameRepository.getIterator(); iter.hasNext();){
String name = (String) iter.next();
System.out.println("姓名: " + name);
}
}
}