迭代器模式
集合是軟體工程中最常用的資料結構之一。集合只是一組物件。集合可以是 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;
}
}
}