Java Iterator模式】的更多相关文章

Iterator迭代器的定义:迭代器(Iterator)模式,又叫做游标(Cursor)模式.GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节. 直接看代码分析理解: 接口Iterator集合迭代器 /** * @Acthor: * @ClassName:Iterator * @Description:循环遍历 */ public interface Iterator { boolean hasNext(); Object next(…
类图 /** * 自己定义集合接口, 相似java.util.Collection * 用于数据存储 * @author stone * */ public interface ICollection<T> { IIterator<T> iterator(); //返回迭代器 void add(T t); T get(int index); } /** * 自己定义迭代器接口 相似于java.util.Iterator * 用于遍历集合类ICollection的数据 * @auth…
上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你的课要是讲的好,同学又怎么会不来听课呢,殊不知:“误人子弟,乃是犯罪!”啊. 好了,那么我们现在来看老师这个点名过程是如何实现吧:1.老规矩,我们先定义老师(Teacher)接口类: public interface Teacher { public Iterator createIterator(); //点名 } 2.具体的老师(ConcreteTeac…
分类: [java]2013-07-15 10:58 917人阅读 评论(0) 收藏 举报 所谓Iterator模式,即是Iterator为不同的容器提供一个统一的访问方式.本文以java中的容器为例,模拟Iterator的原理.参考:马士兵 Java设计模式 Iterator1.首先定义一个容器Collection接口. package com.njupt.zhb.learn.iterator; public interface Collection { void add(Object o);…
一.前言                                                                                       几个月前的看书笔记,内容全部都是摘自书中比较精辟的句子.笔记都是一段一段的句子,故没有文章的篇幅概念,仅供温习之用,更多详细内容请看原书!!! <代码整洁之道>里面有很多前人编写简洁.漂亮代码的经验.当然书中作者的经验并不100%适合每个人,但大部分都是可借鉴的! <java与模式>这本书内容太多了,我…
2012年3月 随笔档案 - java_my_life - 博客园--此网友 12年的博客都是和模式有关的,希望可以多看看.http://www.cnblogs.com/java-my-life/archive/2012/03.html <JAVA与模式>之单例模式 - java_my_life - 博客园http://www.cnblogs.com/java-my-life/archive/2012/03/31/2425631.html 第一部分 第1章 模式的简史和形而上学 1.1 模式是…
在阎宏博士的<JAVA与模式>一书中开头是这样描述迭代子(Iterator)模式的: 迭代子模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation). 聚集和JAVA聚集 多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象.聚集依赖于聚集结构的抽象化,具有复杂化和多样性.数组就是最基本的聚集,也是其他的JAVA聚集对象的设计基础. JAVA…
java提高篇(三十)-----Iterator 迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式.Iterator模式是用于遍历集合类的标准访问方法.它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构. 对于这两种方式,我们总是都事先知道集合的内部结构,访问代码和集合本身是紧密耦合的,无法将访问逻辑从集合类和客户端代码中分离出来.同时每一种集合对应一种遍历方法,客户端代码无法复用. 在实际应用中如何需要将上…
什么是迭代器模式? 让用户通过特定的接口访问容器的数据,不需要了解容器内部的数据结构. 首先我们先模仿集合中ArrayList和LinkedList的实现.一个是基于数组的实现.一个是基于链表的实现,实现方式各有不同, 为了减少代码的耦合度,面向接口编程.定义Collection接口定义API规范. 可是在遍历集合中的元素时,由于数组和链表的遍历方式不一样,能不能统一处理呢? 再定义一个Iterator接口,让每一个子类集合都实现接口中的方法. 1.接口Collection.java publi…
java.util包中包含了一系列重要的集合类.本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕. 下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理. 本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多泛型代码,为了简化问题,所以我们还是讨论1.4版本的代码. 集合类的根接口Collection Collect…