迭代器模式

2021-10-02 20:39:42 字數 1316 閱讀 3147

個人部落格

迭代器模式又稱為游標(cursor)模式,是行為型設計模式之一。

提供一種方法順序訪問乙個容器物件中的各個元素,而又不需要暴露該物件的內部表示。

遍歷乙個容器物件時。

定義迭代器介面

/**

* 迭代器介面

* * @author 160317250

* * @param */

public

inte***ce

iterator

定義迭代器實現類

/**

* 具體迭代器類

* @author 160317250

* * @param */

public

class

iteratorimpl

implements

iterator

@override

public

boolean

hasnext()

@override

public t next()

return obj;

}}

定義容器介面

/**

* 容器介面

* * @author 160317250

* */

public

inte***ce

container

定義容器實現類

public

class

containerimpl

implements

container

@override

public

void

remove

(t obj)

@override

public iterator

iterator()

}

呼叫

public

class

main

}}

輸出結果:

a

bc

對於迭代器模式來說,其自身優點很明顯也很單一,支援以不同的方式去遍歷乙個容器物件,也可以有多個遍歷,弱化了容器類與遍歷演算法之間的關係,而缺點就是對類檔案的增加。

迭代器模式發展至今,幾乎每一種高階語言都有相應的內建實現,對於開發者而言,已經極少自己實現迭代器,因此對於迭代器模式更多的是在於了解。

迭代器模式

迭代器模式 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...