文档章节

行为型模式之九:迭代器模式

奋斗到天明
 奋斗到天明
发布于 2015/08/27 17:43
字数 222
阅读 16
收藏 0

迭代器模式用于迭代集合对象,他是一个很常用的模式,你可以在之前使用过他,可能你见过像hasNext()和next(),他可能是迭代器模式,比如,你可能迭代访问数据库记录。

迭代器模式类图

迭代器模式Java代码

interface IIterator{
  public boolean hasNext();
  public Object next();
}
 
interface IContainer{
  public IIterator createIterator();
}
 
class RecordCollection implements IContainer{
  private String recordArray[] = {"first","second","third","fourth","fifth"};
 
  public IIterator createIterator(){
    RecordIterator iterator = new RecordIterator();
    return iterator;
  }
 
  private class RecordIterator implements IIterator{
    private int index;
 
    public boolean hasNext(){
      if (index < recordArray.length)
        return true;
      else
        return false;
    }
 
    public Object next(){
      if (this.hasNext())
        return recordArray[index++];
      else
        return null;
    }
  }
}
 
public class TestIterator {
  public static void main(String[] args) {
    RecordCollection recordCollection = new RecordCollection();
    IIterator iter = recordCollection.createIterator();
 
    while(iter.hasNext()){
      System.out.println(iter.next());
    }  
  }
}

迭代器模式在JDK中

在 java.util包中,迭代器的接口定义如下: 这些类可以创建迭代器TreeSet#iterator(), HashSet#iterator(),等

public interface Iterator {
  boolean hasNext();
  E next();
  void remove();
}

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
小菜学设计模式——设计模式总结之行为型(1)

1、设计模式总结 设计模式总共23个,但是常用的不到10个,下面就把这23个设计模式进行整理归类,具体如下: 1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型...

learn_more
2015/07/09
182
0
命令模式章列表

章列表:命令模式 tomcat: Java设计模式(六) Command(命令模式)及Tomcat引申 命令模式(Command) 学习目标: 跟王老师学接口(四):面向接口编程:命令模式 命令模式: 码农小汪-设计模式之-命令...

d_watson
2016/05/30
2
0
一句话总结23种设计模式则

1. 前言 断断续续写了一段时间的设计模式,终于把经典的23种设计模式全写完了。下面对这些设计模式总结一下。 2. 设计原则 设计原则的介绍 : 设计模式的六大原则 即使我们之前没有专门看过这...

四月葡萄
01/05
0
0
PHP的23种设计模式--php_design_patterns

学习理解设计模式,记录PHP关于23种设计模式的简单Demo。 设计模式分为:创建型模式, 结构型模式,行为型模式等23种设计模式。 一、五种创建型模式如下: 工厂方法模式factorymethod 抽象工...

匿名
2016/04/13
1K
1
PHP之设计模型分类(一)

经典的《设计模式》一书归纳出23种设计模式,本文按《易学设计模式》一书归纳分类如下: 1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象...

peasant
2016/04/29
81
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

困扰当前数据中心管理的三大难题

导读 当企业发展到一定程度,或者之前的机房不能满足现在的数据中心使用时,企业会对数据中心进行迁移。那么在数据中心进行迁移的时候会遇到哪些风险呢?针对这些风险我们应该做出怎样的措施来...

问题终结者
7分钟前
0
0
设计模式:工厂方法模式(工厂模式)

工厂方法模式才是真正的工厂模式,前面讲到的静态工厂模式实际上不能说是一种真正意义上的设计模式,只是一种变成习惯。 工厂方法的类图: 这里面涉及到四个种类: 1、抽象产品: Product 2、...

京一
23分钟前
0
0
区块链和数据库,技术到底有何区别?

关于数据库和区块链,总会有很多的困惑。区块链其实是一种数据库,因为他是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。但是,区块链是数据库,数据库可不...

HiBlock
31分钟前
0
0
react native 开发碰到的问题

react-navigation v2 问题 问题: static navigationOptions = ({navigation, navigationOptions}) => ({ headerTitle: ( <Text style={{color:"#fff"}}>我的</Text> ), headerRight: ( <View......

罗培海
38分钟前
0
0
Mac Docker安装流程

久仰Docker大名已久,于是今天趁着有空,尝试了一下Docker 先是从docker的官网上下载下来mac版本的docker安装包,安装很简易,就直接拖图标就好了。 https://www.docker.com/products/docker...

writeademo
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部