java设计模式(5):迭代器模式

本文介绍了迭代器模式的基本概念,通过定义一个迭代器接口并提供一个简单的实现类来演示如何遍历集合中的元素,同时展示了如何在客户端代码中使用迭代器模式。

迭代器模式的定义:对于一组对象的集合(实现Collection接口的数组,列表等),用户不需要关注它的底层实现,而可以通过调用一个统一的接口遍历集合当中的全部元素。

最典型的应用就是java的Iterator接口

下面用代码来模拟迭代器模式:

1.迭代器接口

public interface Iterator<E> {
	
	boolean hasNext();
	
	E next();

}

迭代器的接口定义了两个基本的方法,判断是否有下一个值,取出下一个值。

2.迭代器实现类

public class NameIterator implements Iterator{

	private String[] names = {"xl","zj","lq"};
	
	int index;
	
	@Override
	public boolean hasNext() {
		if(names.length > index){
			return true;
		}
		return false;
	}

	@Override
	public Object next() {
		return names[index++];
	}

}

迭代器里面的集合实现,就是用的数组。也可以用列表的来表示。

3.测试客户端

public class Client {

	public static void main(String[] args) {
		Iterator iterator = new NameIterator();
		for(;iterator.hasNext();){
			System.out.println(iterator.next());
		}

	}

}
真正使用的时候,直接调用的是迭代器的方法,具体的实现都是隐藏了的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值