定义
将对象的遍历委托给容器.
java中的迭代器已经实现的很好,一般不需要自己实现.
1.迭代器接口
//迭代器接口
public interface Iterator {
public boolean hasNext();
public Object next();
}
2.容器接口
//容器接口
public interface Container {
public Iterator getIterator();
}
3.容器实现
public class NameContainer implements Container{
public String[] names = {"张三","李四","王五","赵六"};
@Override
public Iterator getIterator() {
return new NameIterator();
}
private class NameIterator implements Iterator{
private 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;
}
}
}
4.运行
public class Client {
public static void main(String[] args) {
NameContainer nameContainer = new NameContainer();
for(Iterator iterator = nameContainer.getIterator();iterator.hasNext();){
String name = (String) iterator.next();
System.out.println(name);
}
}
}
结果:
张三
李四
王五
赵六