迭代器模式
集合是软件工程中最常用的数据结构之一。集合只是一组对象。集合可以是 List,数组,映射,树或任何东西。因此,集合应该提供一些访问其元素的方法,而不会暴露其内部结构。无论收集的类型如何,我们都应该能够以相同的方式遍历它。
迭代器模式的想法是负责访问集合的对象并将其放在迭代器对象中。返回的迭代器对象将保持迭代的顺序,保持对当前项的跟踪,并且必须有一种方法来获取下一个元素。
通常,集合类包含两个组件:类本身,它是 Iterator
。
public interface Iterator {
public boolean hasNext();
public Object next();
}
public class FruitsList {
public String fruits[] = {"Banana", "Apple", "Pear", "Peach", "Blueberry"};
public Iterator getIterator() {
return new FruitIterator();
}
private class FruitIterator implements Iterator {
int index;
@Override
public boolean hasNext() {
return index < fruits.length;
}
@Override
public Object next() {
if(this.hasNext()) {
return names[index++];
}
return null;
}
}
}