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

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

1、簡介

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

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

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

英文:Iterator

類型:行為型模式

2、類圖及組成

(引)類圖:

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

組成:

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

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

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

  

網(wǎng)友評(píng)論