迭代器角色(iterator)
/**
* 迭代器角色(iterator):迭代器角色負責定義訪問和遍歷元素的介面。
* * @author yanbin
* */
public
inte***ce
iterator
具體迭代器角色(concreteiterator)/**
* 具體迭代器角色(concrete iterator):具體迭代器角色要實現迭代器介面,並要記錄 遍歷中的當前位置。
* * @author yanbin
* */
public
class
balliterator
implements
iterator
// 實現迭代器中所具有的方法
public
boolean
hasnext()
else
}public object next()
}
容器角色(container)/**
* 容器角色(container):容器角色負責提供建立具體迭代器角色的介面。
* * @author yanbin
* */
public
inte***ce
container
具體容器角色(concretecontainer)/**
* 集合中的元素,pojo
* * @author yanbin
* */
public
class
ball
public string getballcolor()
}
/**
* * @author yanbin
* */
public
class
ballcontainer
implements
container
public ball getballat
(int index)
public
void
(ball ball)
public
intgetcount()
public arraylist
getballs()
public iterator iterator()
}
客戶端/**
* 迭代器模式:又叫做游標(cursor)模式。提供一種 方法訪問乙個容器(container)物件中各元素,而又不需暴露該物件的內部細節。
* 組成:迭代器角色(iterator);具體迭代器角色(concrete iterator);容器角色(container);具體容器角色(concrete
* container); 迭代器模式在客戶與容器之間加入了迭代器角色。
* 迭代器模式抽象了具體迭代器角色, 使得客戶程式更具一般性和重用性。這被稱為多型迭代。
* 是由客戶程式來控制遍歷的程序,被稱為外部迭代器;還有一種實現方式便是由迭代器自身來控制迭代,被稱為內部迭代器。
* * @author yanbin
* */
public
class
iteratorpattern
}}
JAVA系列 設計模式 迭代器模式
定義 提供一種方法訪問乙個容器物件中各個元素,而又不暴露該物件的內部細節。我們的list遍歷就是用迭代器模式實現的。類圖 迭代器定義訪問和遍歷元素的介面。author administrator public inte ce iterator package iterator public clas...
Java設計模式之迭代器模式 五
迭代器模式 提供一種方法順序訪問乙個集合物件中的各個元素,而又不需要暴漏物件的內部表示。合理組織資料的結構以及相關操作時程式設計的乙個重要方面,比如在程式設計中經常會使用諸如鍊錶 雜湊表等資料結構。鍊錶和雜湊表等資料結構都是可以存放若干個物件的集合,其區別時按著不同的方式來儲存物件。我們希望無論何種...
設計模式 迭代器模式
迭代器模式是屬於物件行為性的模式。首先是定義 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露物件的表示方法。迭代器的結構圖 適用性 1 訪問乙個聚合物件的內容而無需暴露它的內部表示 2 支援聚合物件的多種遍歷 3 為遍歷不同的聚合結構提供乙個統一的介面 支援多型迭代 協作 concretei...