设计模式之Iterator(迭代器)的设计和使用
来源:互联网 发布:linux 多进程 信号 编辑:程序博客网 时间:2024/04/28 00:50
目的:
提供一种方法顺序访问或者遍历一个聚合对象中的各个元素,且不希望暴露该对象的内部结构。
一、设计
1. 因为是聚合对象,所以设计的这个类应该使用类似list这样的结构体存储聚合对象;
2.迭代器应该是通用的,适用于各种类型的聚合对象,所以设计的类应该是模板类型;
3.还需要对外提供统一的访问接口,以及获取当前元素,递增到下一个元素,判断是否末尾元素。
interface MyIterator<T>{ void next(); boolean hasNext(); T getItem(); } public class Test<T>{ private List<T> list = new ArrayList<T>(); private int i = 0; public void add(T item){ list.add(item); } public MyIterator getIterator(){ return new TestIterator(); } class TestIterator implements MyIterator<T>{ public void next(){ i++; } public boolean hasNext(){ return (i >= list.size())? false:true; } public T getItem(){ return list.get(i); } } }
二、使用
Test<String> test = new Test<String>(); test.add("1"); test.add("2"); test.add("3"); test.add("4"); test.add("5"); MyIterator iterator = test.getIterator(); while(iterator.hasNext()){ String item = (String)iterator.getItem(); Log.d(TAG,"item:"+item); iterator.next(); }
0 0
- 设计模式之Iterator(迭代器)的设计和使用
- 设计模式之Iterator (迭代器)
- 设计模式之:Iterator迭代器
- 设计模式之Iterator迭代器
- 设计模式之Iterator
- 设计模式之Iterator
- 设计模式之 iterator
- 设计模式之Iterator
- 设计模式之Iterator
- 设计模式之Iterator
- 设计模式之iterator
- 设计模式之Iterator
- 设计模式之 interpreter和iterator
- 浅学设计模式之迭代器<Iterator>模式
- 设计模式之--迭代器模式(Iterator)
- 浅学设计模式之迭代器<Iterator>模式
- 浅学设计模式之迭代器<Iterator>模式
- 设计模式之迭代器模式,iterator
- myeclipse ctrl+左键,没法进入方法
- Objective-C实现视图透明度的渐变
- 过滤器和拦截器
- 修改Linux窗口大小
- WikiOI 1139 观光公交 (NOIP2011) 贪心
- 设计模式之Iterator(迭代器)的设计和使用
- servlet图片上传
- Linux运维+系统服务搭建(七)文件查找
- iOS 支付宝成功后不会回调
- 解决SVN“请求名称有效,但找不到请求类型的数据”问题
- JSP获取项目名与路径
- Codeforces Round #378 (Div. 2)A.Grasshopper And the String【水题】模拟
- linux 用户管理
- Java单元测试