- 浏览: 422384 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
IProject.java代码如下:
Project.java代码如下:
IProjectIterator.java代码如下:
ProjectIterator.java代码如下:
Boss.java代码如下:
运行结果如下:
package com.designPattern.iterator; public interface IProject { public void add(String name,int num,int cost); public String getProjectInfo(); public IProjectIterator iterator(); }
Project.java代码如下:
package com.designPattern.iterator; import java.util.ArrayList; public class Project implements IProject{ private ArrayList<IProject> projectList = new ArrayList<IProject>(); private String name = ""; private int num = 0; private int cost = 0; public Project(){ } public Project(String name,int num,int cost){ this.name = name; this.num = num; this.cost = cost; } @Override public void add(String name, int num, int cost) { this.projectList.add(new Project(name,num,cost)); } @Override public String getProjectInfo() { String info = "项目名称是:"+this.name+"\t项目人数为:"+this.num+"\t项目费用为:"+this.cost; return info; } @Override public IProjectIterator iterator() { return new ProjectIterator(this.projectList); } }
IProjectIterator.java代码如下:
package com.designPattern.iterator; import java.util.Iterator; public interface IProjectIterator extends Iterator<IProject>{ }
ProjectIterator.java代码如下:
package com.designPattern.iterator; import java.util.ArrayList; public class ProjectIterator implements IProjectIterator{ private ArrayList<IProject> projectList = new ArrayList<IProject>(); private int currentItem = 0; public ProjectIterator(ArrayList<IProject> projectList){ this.projectList = projectList; } @Override public boolean hasNext() { boolean bool = true; if(this.currentItem>=projectList.size()||this.projectList.get(this.currentItem)==null){ bool = false ; } return bool; } @Override public IProject next() { return (IProject)this.projectList.get(this.currentItem++); } @Override public void remove() { } }
Boss.java代码如下:
package com.designPattern.iterator; /** * JDK1.2之后出现的Iterator * @author yangjianzhou * */ public class Boss { public static void main(String[] args) { IProject project = new Project(); project.add("星球大战", 10, 100000); project.add("CS", 10, 100000); project.add("WOW", 10, 100000); project.add("地下城勇士", 10, 100000); for(int i=4;i<100;i++){ project.add("第个"+i+"项目", 20, 100000); } IProjectIterator projectIterator = project.iterator(); while(projectIterator.hasNext()){ IProject p = projectIterator.next(); System.out.println(p.getProjectInfo()); } } }
运行结果如下:
项目名称是:星球大战 项目人数为:10 项目费用为:100000 项目名称是:CS 项目人数为:10 项目费用为:100000 项目名称是:WOW 项目人数为:10 项目费用为:100000 项目名称是:地下城勇士 项目人数为:10 项目费用为:100000 项目名称是:第个4项目 项目人数为:20 项目费用为:100000 项目名称是:第个5项目 项目人数为:20 项目费用为:100000 项目名称是:第个6项目 项目人数为:20 项目费用为:100000 项目名称是:第个7项目 项目人数为:20 项目费用为:100000 项目名称是:第个8项目 项目人数为:20 项目费用为:100000 项目名称是:第个9项目 项目人数为:20 项目费用为:100000
发表评论
-
设计模式----中介者模式(demiator pattern)
2013-07-21 22:55 894AbstractMediator.java代码如下: pa ... -
设计模式----原型模式(prototype pattern)
2013-07-21 22:51 602AdvTemplate.java代码如下: package ... -
设计模式----状态模式(state pattern)
2013-07-21 22:48 1157LiftState.java代码如下: package ... -
设计模式----访问者模式(visitor pattern)
2013-07-21 22:44 937IVisitor.java代码如下: package co ... -
设计模式----观察者模式(observer)
2013-07-20 19:53 1034这里采用两种方式实现观察者模式:第一种方式为完全自己写, ... -
设计模式----组合模式(composite)
2013-07-20 16:13 896该设计模式是以公司的组织结构为背景的 Crop.java代码 ... -
设计模式----装饰者模式(decorator pattern)
2013-07-15 09:08 986SchoolReport.java代码如下: packag ... -
设计模式----命令模式(command pattern)
2013-07-15 09:09 924Group.java代码如下: pa ... -
设计模式----桥梁模式(bridge pattern)
2013-07-14 22:21 1143Product.java代码如下: package com ... -
设计模式----模板方法模式(template method pattern)
2013-07-14 17:00 1118HummerModel.java代码如下: packag ... -
设计模式----适配器模式(adapter)
2013-07-14 13:37 832IUserInfo.java代码如下: package c ... -
设计模式----门面模式(facade)
2013-07-14 13:30 912LetterProcess.java代码如下 ... -
设计模式----抽象工厂模式(abstract factory pattern)
2013-07-13 23:09 883Human.java代码如下: package com. ... -
设计模式----工厂方法模式(factory method pattern)
2013-07-10 22:19 1040给定一个工厂类,用这个工厂类造出一堆对象来,这些对象对应的类实 ... -
设计模式----多例模式(Multition)
2013-07-02 22:47 1004Emperor.java 代码如下: ... -
设计模式----单例模式(singleton)
2013-06-30 22:17 732单例就是唯一的意思。 第一种单例实现方式(在多线程环境中存在 ... -
设计模式----代理模式(proxy)
2013-06-30 22:02 925代理模式主要使用了java ... -
设计模式----策略模式(strategy)
2013-06-29 22:17 1037本文参考别人设计模式的一个例子。 关于诸葛亮的三个锦囊妙计的 ... -
装饰着模式(decorator)
2012-09-09 21:51 979一下代码就是运用了装饰者模式: package com.ba ... -
观察者模式(observer)
2012-09-09 19:36 907设计模式中观察者模式的实现有很多方式,这里列出两种实现方式 1 ...
相关推荐
c++设计模式-行为型模式-迭代器模式;qt工程;c++简单源码;迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。
iterator-demo 迭代器设计模式demo
博文“设计模式之--迭代器模式”附属源码,以供参考。
C#面向对象设计模式 (行为型模式) Iterator 迭代器模式 视频讲座下载
迭代器模式(Iterator Pattern)是一种非常常用的设计模式,这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。 介绍 意图: 提供一种方法顺序访问一个聚合对象中各个...
【Java设计模式】(1)迭代器模式Iterator(代码)
提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。
迭代器(Iterator) 用意:可以顺序地访问一个集合中的元素而不必暴露集合中的内部表象。
设计模式C++学习之迭代器模式(Iterator)
迭代器模式(Iterator Pattern)是设计模式中的一种行为模式,它允许顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式提供了一种方法,可以顺序地访问一个聚合对象中的各个元素,而又...
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不... 这是第18节:行为型模式Iterator迭代器模式
2.定义一个Iterator迭代器的接口 3.定义一个ArrayList,实现Collection接口,并写一个实现了Iterator接口的内部类。 4.编写测试程序TestMain 从以上可以看出,设计模式到处用到面向对象中的多态。接口调用子类中的...
C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 (Level 300)
5.4 ITERATOR(迭代器)—对象行为型模式 171 5.5 MEDIATOR(中介者)—对象行为型模式 181 5.6 MEMENTO(备忘录)—对象行为型模式 188 5.7 OBSERVER(观察者)—对象行为型模式 194 5.8 STATE(状态)—对象行为型...
<!-- TOC --> - 23种设计模式 - 工厂方法模式(Factory Method) - 抽象工厂模式(Abstract Factory) - 单例模式(Singleton) - 建造者模式(Builder)... - 迭代器模式(Iterator) - 备忘录模式(Memento) - 状态模式(S
Head First 设计模式 (九) 迭代器与组合模式(Iterator & Composite pattern) C++实现
C++设计模式课件21_Iterator_迭代器.pdf
5.4 ITERATOR(迭代器)——对象行为型模式 5.5 MEDIATOR(中介者)——对象行为型模式 5.6 MEMENTO(备忘录)——对象行为型模式 5.7 OBSERVER(观察者)——对象行为型模式 5.8 STATE(状态)——对象行为型模式 ...
第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式(Memento) 第20章 享元模式...