频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
java设计模式 迭代器模式
2017-06-07 10:35:00         来源:lyl0724的博客  
收藏   我要投稿

迭代器模式

迭代器模式是Java和.Net编程环境中非常常用的设计模式。此模式用于以顺序方式访问集合对象的元素,而不需要知道其底层表示。

实现

创建一个Iterator接口,它陈述了一个导航方法和一个Container接口,以及返回迭代器。 实现Container接口的具体类将负责实现Iterator接口并使用它。使用一个具体的实现类-NamesRepository,打印一个存储在NamesRepository集合中的Names。

注册送白菜网

package com.test;

//第1步,创建两个简单的接口

interface Iterator {

public boolean hasNext();

public Object next();

}

interface Container {

public Iterator getIterator();

}

// 第2步,创建实现Container接口的具体类。 这个类有一个内部类NameIterator,它实现了Iterator接口

class NameRepository implements Container {

public String names[] = { "Robert", "John", "Julie", "Lora" };

@Override

public Iterator getIterator() {

return new NameIterator();

}

private class NameIterator 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步,使用NameRepository获取迭代器并打印其名称

public class Test {

public static void main(String[] args) {

NameRepository namesRepository = new NameRepository();

for (Iterator iter = namesRepository.getIterator(); iter.hasNext();) {

String name = (String) iter.next();

System.out.println("Name : " + name);

}

}

}

运行结果:

Name : Robert

Name : John

Name : Julie

Name : Lora

点击复制链接 与好友分享!回本站首页
上一篇:Error:Unable to find method &注册送白菜3839;org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api
下一篇:eclipse快捷键
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑--致力于做实用的IT技术学习网站

注册送白菜38