迭代器模式

package roq;
//迭代器模式
import java.util.Vector;

public class diedanmoshi {
public static void main(String[] args) {
Aggregat agg=new ConcreteAggregat();
Iterator iterator =agg.createIterator();
System.out.println(iterator.first());
while(iterator.isDone()){
System.out.println(iterator.next());
}
}
}
interface Iterator{
public Object first();
public Object next();
public Object currentItem();
public boolean isDone();
}
class ConcreteIterator implements Iterator{
private int currentIndex = 0;
private Vector vector=null;
public ConcreteIterator(final Vector vector){
this.vector=vector;
}
public Object first(){
// currentIndex =0;
return vector.get(currentIndex);
}
@Override
public Object next(){
currentIndex++;
return vector.get(currentIndex);
}
@Override
public Object currentItem(){
return vector.get(currentIndex);
}
public boolean isDone(){
if(currentIndex>=this.vector.size()-1){
return false;
}else{
return true;
}
}
}
interface Aggregat{
public Iterator createIterator();
}
class ConcreteAggregat implements Aggregat{
private Vector vector=null;
public Vector getVector(){
return vector;
}
public void setVector(){
this.vector=vector;
}
public ConcreteAggregat(){
vector = new Vector();
vector.add("vector 1");
vector.add("vector 2");
vector.add("vector 3");
}
@Override
public Iterator createIterator(){
return new ConcreteIterator(vector);
}
}
//public class diedanmoshi {
// public static void main(String[] args) {
//
// }
//}

 

posted @ 2017-12-25 10:30  zhouwen周文  阅读(57)  评论(0编辑  收藏  举报