Java 实现迭代器(Iterator)模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 实现迭代器(Iterator)模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1962字,纯文字阅读大概需要3分钟。
内容图文
![Java 实现迭代器(Iterator)模式](/upload/InfoBanner/zyjiaocheng/1277/47631b1cdfc24d289aaa1447e96cd9b9.jpg)
类图
/** * 自己定义集合接口, 相似java.util.Collection * 用于数据存储 * @author stone * */ public interface ICollection<T> { IIterator<T> iterator(); //返回迭代器 void add(T t); T get(int index); }
/** * 自己定义迭代器接口 相似于java.util.Iterator * 用于遍历集合类ICollection的数据 * @author stone * */ public interface IIterator<T> { boolean hasNext(); boolean hasPrevious(); T next(); T previous(); }
/** * 集合类, 依赖于MyIterator * @author stone */ public class MyCollection<T> implements ICollection<T> { private T[] arys; private int index = -1; private int capacity = 5; public MyCollection() { this.arys = (T[]) new Object[capacity]; } @Override public IIterator<T> iterator() { return new MyIterator<T>(this); } @Override public void add(T t) { index++; if (index == capacity) { capacity *= 2; this.arys = Arrays.copyOf(arys, capacity); } this.arys[index] = t; } @Override public T get(int index) { return this.arys[index]; } }
/* * 迭代器(Iterator)模式 又叫做游标(Cursor)模式 * 提供一种方法訪问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 * Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既能够做到不暴露集合的内部结构,又可让外部代码透明的訪问集合内部的数据 * * 若有新的存储结构,可new 一个ICollection, 相应的 new 一个IIterator来实现它的遍历 */ @SuppressWarnings({"rawtypes", "unchecked"}) public class Test { public static void main(String[] args) { ICollection<Integer> collection = new MyCollection<Integer>(); add(collection, 3, 5, 8, 12, 3, 3, 5); for (IIterator<Integer> iterator = collection.iterator(); iterator.hasNext();) { System.out.println(iterator.next()); } System.out.println("-------------"); ICollection collection2 = new MyCollection(); add(collection2, "a", "b", "c", 3, 8, 12, 3, 5); for (IIterator iterator = collection2.iterator(); iterator.hasNext();) { System.out.println(iterator.next()); } } static <T> void add(ICollection<T> c, T ...a) { for (T i : a) { c.add(i); } } }打印
3 5 8 12 3 3 5 ------------- a b c 3 8 12 3 5
原文:http://www.cnblogs.com/mengfanrong/p/4359834.html
内容总结
以上是互联网集市为您收集整理的Java 实现迭代器(Iterator)模式全部内容,希望文章能够帮你解决Java 实现迭代器(Iterator)模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。