DEBUG - 天道酬勤
提供一種方法訪問一個容器(container)對象中各個元素,而又不需暴露該對象的內部細節。在迭代器模式中,具體迭代器角色和具體容器角色是耦合在一起的 —— 遍歷算法是與容器的內部細節緊密相關的。為了使客戶程序從與具體迭代器角色耦合的困境中脫離出來,避免具體迭代器角色的更換給客戶程序帶來的修改,迭代器模式抽象了具體迭代器角色,使得客戶程序更具一般性和重用性。這被稱為多態迭代迭代器模式的組成部份1.集合,一個接口,規定了具體集合需要實現的操作.2.具體集合,是實現集合接口的實例,具體集合按著一定的結構存儲對象,具體集合應當有一個方法返回針對該集合的具體迭代器.3.迭代器, 一個接口,規定了遍歷集合的方法.4.具體迭代器迭代器各組成部份之間的關系例子:集合:
具體集合:
迭代器:
具體迭代器:
測試類:
迭代器的優點: 1、支持以不同的方式遍歷一個容器角色。根據實現方式的不同,效果上會有差別。 2、簡化了容器的接口。但是在java Collection中為了提高可擴展性,容器還是提供了遍歷的接口。 3、對同一個容器對象,可以同時進行多個遍歷。因為遍歷狀態是保存在每一個迭代器對象中的。
Powered by: BlogJava Copyright © HUIKK