您的位置:首页 > 其它

设计模式(行为型模式) ----- 迭代子模式(Iterator)

2018-01-12 16:25 399 查看
顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:



MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操作,且持有Collection实例,我们来看看实现代码:

两个接口:

public interface Collection {

public Iterator iterator();

/取得集合元素/

public Object get(int i);

/取得集合大小/

public int size();

}

public interface Iterator {

//前移

public Object previous();

//后移

public Object next();

public boolean hasNext();

//取得第一个元素

public Object first();

}

两个实现:

public class MyCollection implements Collection {

public String string[] = {“A”,”B”,”C”,”D”,”E”};

@Override

public Iterator iterator() {

return new MyIterator(this);

}

@Override

public Object get(int i) {

return string[i];

}

@Override

public int size() {

return string.length;

}

}

public class MyIterator implements Iterator {

private Collection collection;

private int pos = -1;

public MyIterator(Collection collection){

this.collection = collection;

}

@Override

public Object previous() {

if(pos > 0){

pos–;

}

return collection.get(pos);

}

@Override

public Object next() {

if(pos
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息