Iterators模式探討(筆記心得體會)
說明:這個模式已經被整合入Java的Collection.在大多數場合下無需自己製造一個Iterator,只要將物件裝入Collection中,直接使用
Iterator進行物件遍歷。(節選自“http://www.jdon.com/designpatterns/index.htm”)
Iterator進行物件遍歷。(節選自“http://www.jdon.com/designpatterns/index.htm”)
非常常用的一個模式,使用上不用多說。Iterator介面倒是有些需要注意的地方,Iterator也是退耦的(指消除或減輕兩個以上物體間在某方面相互影響的方法)。 1 迭代返回時的型別需要指定。因為next方法僅僅返回一個Object。最苯最方便的方法是手寫程式碼指定型別。 2 但是容器中,由於容器持有的不一定是同一種型別,那麼跌代的時候。該如何確定池有的型別呢?最安全的方法(可能很不方便)是需要用 戶建立一個可以在返回時確定型別的跌代器。下面會有一個例子,是在建構函式中指定型別。 注意:以下的程式碼可能很像Proxy 模式,但是實際上它的建立思想卻是Decorator 模式。 <p class="indent"> |
//TypedIterator.java import java.util.*; public class TypedIterator implements Iterator { private Iterator imp; private Class type; public TypedIterator(Iterator it, Class type) { imp = it; this.type = type; } public boolean hasNext() { return imp.hasNext(); } public void remove() { imp.remove(); } public Object next() { Object obj = imp.next(); if(!type.isInstance(obj)) throw new ClassCastException( "TypedIterator for type " + type + " encountered type: " + obj.getClass()); return obj; } } ///:~ <p class="indent"> |
相關文章
- State模式探討(筆記心得體會)模式筆記
- Proxy模式探討(筆記心得體會)模式筆記
- 單體模式探討(原創)模式
- 唯品會 JIT模式 應用探討模式
- 深入探討單例模式單例模式
- 責任鏈模式探討模式
- Android設計模式探討--Builder模式Android設計模式UI
- Android設計模式探討 Builder模式Android設計模式UI
- oracle 雙機部署模式探討Oracle模式
- Java並行流誤區(學習筆記探討)Java並行筆記
- 心得體會
- Android設計模式探討--單例模式Android設計模式單例
- Android設計模式探討 單例模式Android設計模式單例
- [心得] Effective Java心得筆記Java筆記
- 學習筆記--how the cbo evaluates IN-list iterators筆記
- Web 框架的架構模式探討Web框架架構模式
- 探討工廠模式的物件建立模式物件
- github心得體會Github
- B/S模式安全性探討 (轉)模式
- Java原始碼分析:深入探討Iterator模式Java原始碼模式
- 從 setState promise 化的探討 體會 React 團隊設計思想PromiseReact
- [心得]機器學習精華筆記機器學習筆記
- Promise探討Promise
- iterators & generators-《understanding ECMAScipt6》讀書筆記8筆記
- 開發者探討手遊IAP盈利模式的未來模式
- 一文探討堆外記憶體的監控與回收記憶體
- #EffectiveJava筆記#閱讀心得Java筆記
- JVM併發機制探討—記憶體模型、記憶體可見性和指令重排序JVM記憶體模型排序
- 深入探討 UndefinedUndefined
- IsPostBack深入探討
- 探討代理模式與Java反射機制的應用模式Java反射
- 對軟體專案管理的探討(1)專案管理
- 對軟體專案管理的探討(2)專案管理
- 對軟體專案管理的探討 (轉)專案管理
- 對軟體專案管理的探討(轉)專案管理
- 4.8 共識演算法的社會學探討演算法
- Laravel 框架學習心得體會Laravel框架
- Oracle Job 使用心得體會Oracle