知识大全 Java设计模式之Iterator模式介绍
Posted 知
篇首语:知识给世界带来光明,知识给人类增长财富。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java设计模式之Iterator模式介绍相关的知识,希望对你有一定的参考价值。
Java设计模式之Iterator模式介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
所谓Iterator模式 即是Iterator为不同的容器提供一个统一的访问方式 本文以java中的容器为例 模拟Iterator的原理 需要的朋友可以参考下首先定义一个容器Collection接口
复制代码 代码如下: package njupt zhb learn iterator; public interface Collection void add(Object o); int size(); Iterator iterator();定义一个Iterator迭代器的接口
复制代码 代码如下: package njupt zhb learn iterator; public interface Iterator Object next(); boolean hasNext();定义一个ArrayList 实现Collection接口 并写一个实现了Iterator接口的内部类
复制代码 代码如下: package njupt zhb learn iterator; import njupt zhb learn iterator Collection; public class ArrayList implements Collection Object[] objects = new Object[ ]; int index = ; public void add(Object o) if(index == objects length) Object[] newObjects = new Object[objects length * ]; System arraycopy(objects newObjects objects length); objects = newObjects; objects[index] = o; index ++; public int size() return index; public Iterator iterator() return new ArrayListIterator(); private class ArrayListIterator implements Iterator private int currentIndex = ; @Override public boolean hasNext() if(currentIndex >= index) return false; else return true; @Override public Object next() Object o = objects[currentIndex]; currentIndex ++; return o;编写测试程序TestMain
复制代码 代码如下: package njupt zhb learn iterator; import njupt zhb learn iterator ArrayList; public class TestMain public static void main(String[] args) Collection c = new ArrayList(); for(int i= ; i< ; i++) c add("string "+i); System out println(c size()); Iterator it = c iterator(); while(it hasNext()) Object o = it next(); System out println(o toString() + " ");运行结果
复制代码 代码如下: string string string string string string string string string string string string string string string cha138/Article/program/Java/JSP/201311/20579相关参考
C#中的Iterator迭代器模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!迭代器模式我们在平
Java设计模式之Strategy模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Strat
Java设计模式之Observer模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Obser
Java设计模式之Command模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Comman
Java设计模式之Adapter模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 通常客户类(
Java设计模式之计数代理模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 描述 计数代
Java设计模式之Decorator模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JDK为
Java设计模式之迭代器模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一引言 迭代这个名词对
Java设计模式之Proxy模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为什么要使用Pr
Java设计模式之修饰模式篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近我给女朋友买了一