迭代器模式

2021-08-08 02:22:30 字數 1163 閱讀 9521

迭代器模式(iterator pattern),提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。

提供一中遍歷集合的方法,但是會隱藏集合的儲存及讀取邏輯。迭代器會提供如開始,下乙個,是否結束,當前的正在訪問的一項等統一的介面。

public inte***ce iterator

public inte***ce aggregate

public

class concreteaggregate implements aggregate

public

int getcount()

public

void add(string name)

public string get(int

i)

}

public class concreteiterator implements iterator

@override

public string first()

@override

public string next()

@override

public string currentitem()

}

concreteaggregate aggregate = new concreteaggregate();

aggregate.add("#1");

aggregate.add("#2");

aggregate.add("#3");

aggregate.add("#4");

aggregate.add("#5");

aggregate.add("#6");

aggregate.add("#7");

aggregate.add("#8");

iteratoriterator = aggregate.getiterator();

while (!iterator.isdone())

}

結果如下: #1

#2#3

#4#5

#6#7

#8

迭代器模式

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而不是暴露該物件的內部表示。乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,你就應該考慮用迭代器模式。你需要對聚集有多種方式遍歷時,可以考慮用迭代器模式。為遍歷不同的聚集結構提供如開始,下乙個,是否結束,當前哪一項等統一...

迭代器模式

我最早接觸的設計模式就是迭代器模式了哈 為什麼要有迭代器模式呢?看下下面的 就知道了哈 對於乙個陣列物件sz 我們要怎麼遍歷呢?public void bianlisz class geweishu public myiterator getiterator private class geweis...

迭代器模式

迭代器模式 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件多的內部表示。1 iterator抽象類 public abstract class iterator 2 aggregate聚集抽象類 public abstract class aggregate 3 concreteite...