每天一个java设计模式(二十二) - 迭代器模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天一个java设计模式(二十二) - 迭代器模式相关的知识,希望对你有一定的参考价值。


迭代器模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。

迭代器模式的实现:

1. 创建一个迭代器接口

//迭代器
public interface Iterator
public boolean hasNext();
public Object next();

2. 创建一个容器类,并创建内部类实现迭代器接口

public class Container 

public String[] names;

public Container(String[] names)
this.names = names;


public Iterator getIterator()
return new PersonIterator();


private class PersonIterator implements Iterator

int index;

@Override
public boolean hasNext()
if(index< names.length)
return true;

return false;


@Override
public Object next()
if(this.hasNext())
return names[index++];

return null;


3. 使用迭代器输出所有内容

public class IteratorMain 
public static void main(String[] args)
String[] names = "张三","李四","王五","赵六","小七","老八";
Container container = new Container(names);
Iterator iterator = container.getIterator();

while(iterator.hasNext())
System.out.println(iterator.next());


【每天一个java设计模式(二十二)】

  • 什么是设计模式:​​【每天一个java设计模式(零)】 - 设计模式基本概念及七大设计原则​​

创建型模式

  • 工厂模式:​​【每天一个java设计模式(一)】 - 工厂模式​​
  • 抽象工厂模式: ​​【每天一个java设计模式(二)】 - 抽象工厂模式​​
  • 单例模式:​​【每天一个java设计模式(三)】 - 单例模式​​
  • 原型模式:​​【每天一个java设计模式(四)】 - 原型模式​​
  • 建造者模式: ​​【每天一个java设计模式(五)】 - 建造者模式​​

结构型模型

  • 适配器模式 : ​​【每天一个java设计模式(六)】 - 适配器模式​​
  • 代理模式: ​​【每天一个java设计模式(七)】 - 代理模式模式​​
  • 桥接模式:​​【每天一个java设计模式(八)】 - 桥接模式​​
  • 装饰器模式:​​【每天一个java设计模式(九)】 - 装饰器模式​​
  • 外观模式:​​【每天一个java设计模式(十)】 - 外观模式​​
  • 享元模式:​​【每天一个java设计模式(十一)】 - 享元模式​​
  • 组合模式:​​【每天一个java设计模式(十二)】 - 组合模式​​

行为型模式

  • 模板模式:​​【每天一个java设计模式(十三)】 - 模板模式​​
  • 解释器模式:​​【每天一个java设计模式(十四)】 - 解释器模式​​
  • 命令模式:​​【每天一个java设计模式(十五)】 - 命令模式​​
  • 策略模式:​​【每天一个java设计模式(十六)】 - 策略模式​​
  • 状态模式:​​【每天一个java设计模式(十七)】 - 状态模式​​
  • 观察者模式:​​【每天一个java设计模式(十八)】 - 观察者模式​​
  • 责任链模式:​​【每天一个java设计模式(十九)】 - 责任链模式​​
  • 备忘录模式:​​【每天一个java设计模式(二十)】 - 备忘录模式​​
  • 中介者模式:​​【每天一个java设计模式(二十一)】 - 中介者模式​​

下一节:
访问者模式:​​【每天一个java设计模式(二十三)】 - 访问者模式​​


以上是关于每天一个java设计模式(二十二) - 迭代器模式的主要内容,如果未能解决你的问题,请参考以下文章

二十四种设计模式:迭代器模式(Iterator Pattern)

Java之集合(二十二)PriorityBlockingQueue

第二十三天

Python小白学习之路(二十二)—生成器

每天一个java设计模式(二十三) - 访问者模式

Java面试题|迭代器Iterator是什么?