设计模式(行为型模式) ----- 迭代子模式(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
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
相关文章推荐
- [工作中的设计模式]迭代子模式Iterator
- JAVA--迭代子模式(Iterator)--设计模式十六
- Java开发中的23种设计模式详解----迭代子模式(Iterator)
- 23种设计模式(15)_行为型_迭代器模式(Iterator Pattern)
- C#面向对象模式设计第十八讲:Iterator 迭代器模式(行为型模式)
- 设计模式-行为型-迭代器模式(Iterator)
- [设计模式-行为型]迭代器模式(Iterator)
- 设计模式--迭代器模式Iterator(行为型)
- 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)
- 设计模式之 迭代器(Iterator)----对象行为型模式
- 设计模式二(迭代子模式 Iterator)
- [设计模式-行为型]迭代器模式(Iterator)
- 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)
- [导入]C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式.zip(8.04 MB)
- [设计模式笔记]三. 行为型模式--18. Iterator模式(迭代器)对象行为型模式(一)
- 《Java与模式》学习笔记:设计模式——迭代子(Iterator)模式
- 设计模式-行为型- 迭代器模式(Iterator)
- 设计模式(16)-行为型-迭代器模式(Iterator)
- 设计模式 迭代子模式(Iterator)
- 设计模式(16)-行为型模式-ITERATOR模式