频道栏目
首页 > 资讯 > Java > 正文

java设计模式 迭代器模式

17-06-07        来源:[db:作者]  
收藏   我要投稿

迭代器模式

迭代器模式是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

相关TAG标签
上一篇:JavaScritp(for循环语句的理解)
下一篇:jquery.extend函数详解
相关文章
图文推荐

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

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