設(shè)計(jì)模式解密(10)- 迭代器模式
1、簡(jiǎn)介
定義:提供一種方法順序訪問一個(gè)聚合對(duì)象中各個(gè)元素, 而又無須暴露該對(duì)象的內(nèi)部表示;
主要用途:幫助我們遍歷聚合對(duì)象;
關(guān)鍵代碼:定義接口:hasNext, next;
英文:Iterator
類型:行為型模式
2、類圖及組成
(引)類圖:
組成:
抽象容器:一般是一個(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(),
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式