迭代器模式

2021-07-28 18:58:25 字數 930 閱讀 9123

提供一種方法順序訪問乙個容器物件中的各個元素,而又不需要暴露該物件的內部表示。

public

class

employee

@override

public string tostring()

}/**

* 迭代器介面

*/public

inte***ce

iterator

/** * 遍歷員工的迭代器

*/public

class

employeeiterator

implements

iterator

@override

public

boolean

hasnext()

@override

public object next()

}/**

* 要遍歷的資料

*/class data

public iterator iterator()

}測試**

data data = new data();

iterator iterator = data.iterator();

while (iterator.hasnext())

迭代器模式發展至今,幾乎所有的高階語言都有相應的內建實現,對於開發者而言,已經極少會自己去實現迭代器了,所以本章內容更多的是了解而非應用。

1.優點

(1)符合物件導向設計原則中的單一職責原則。

(2)支援對容器物件的多種遍歷。弱化了容器類與遍歷演算法之間的關係。

2.缺點

(1)類檔案的增加。

(3)會出現concurrentmodificationexception異常。

(2)遍歷過程是乙個單向且不可逆的遍歷。

迭代器模式

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而不是暴露該物件的內部表示。乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,你就應該考慮用迭代器模式。你需要對聚集有多種方式遍歷時,可以考慮用迭代器模式。為遍歷不同的聚集結構提供如開始,下乙個,是否結束,當前哪一項等統一...

迭代器模式

我最早接觸的設計模式就是迭代器模式了哈 為什麼要有迭代器模式呢?看下下面的 就知道了哈 對於乙個陣列物件sz 我們要怎麼遍歷呢?public void bianlisz class geweishu public myiterator getiterator private class geweis...

迭代器模式

迭代器模式 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件多的內部表示。1 iterator抽象類 public abstract class iterator 2 aggregate聚集抽象類 public abstract class aggregate 3 concreteite...