◎筱米加步枪◎.Blog

Happy coding

迭代器模式--回答历史性问题

筱米加步枪 posted @ 2010年3月26日 03:24 in [ 设计模式 ] with tags 设计模式 迭代模式 , 1951 阅读

记得以前春哥问我:为什么迭代器都能够遍历多种数据结构,是怎么实现的呢。?

今天有空,看了迭代器模式,研究了几个小时的JDK~~总结如下:

先来看看一个例子:

List<String> list=new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		Iterator<String> iter=list.iterator();
		while(iter.hasNext()){
			System.out.println(iter.next());
		}
		
		//遍历Vector
		List<String> vec=new Vector<String>();
		vec.add("d");
		vec.add("e");
		vec.add("f");
		Iterator<String> iterv=vec.iterator();
		while(iterv.hasNext()){
			System.out.println(iterv.next());
		}

为什么一个方法能够遍历不同集合呢。?

看下它们的关系图就可以知道原理了,而且使用的是迭代器模式。

纯粹是纪念下午的研究结果~~


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter