設(shè)計模式解密(10)- 迭代器模式

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

1、簡介

定義:提供一種方法順序訪問一個聚合對象中各個元素, 而又無須暴露該對象的內(nèi)部表示;

主要用途:幫助我們遍歷聚合對象;

關(guān)鍵代碼:定義接口:hasNext, next;

英文:Iterator

類型:行為型模式

2、類圖及組成

(引)類圖:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

組成:

  抽象容器:一般是一個接口,提供一個iterator()方法,例如java中的Collection接口,List接口,Set接口等。

  具體容器:就是抽象容器的具體實現(xiàn)類,比如List接口的有序列表實現(xiàn)ArrayList,List接口的鏈表實現(xiàn)LinkList,Set接口的哈希列表的實現(xiàn)HashSet等。

  抽象迭代器:定義遍歷元素所需要的方法,一般來說會有這么三個方法:取得第一個元素的方法first(),取得下一個元素的方法next(),判斷是否遍歷結(jié)束的方法hasNext(),移出當(dāng)前對象的方法remove(),

  

網(wǎng)友評論