Implementing Iterators in Java
2021/9/20 17:26:54
本文主要是介绍Implementing Iterators in Java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
迭代器是一种很好用的迭代元素的方法,常用于Arraylist等Colloctions集合元素的迭代,如果需要自己实现迭代方法,能用foreach,就很漂亮了。代码如下。
import java.util.*; @SuppressWarnings("unchecked") // Demo是一个动态数组类,要实现迭代器的功能必须实现Iterable接口并写一些配套的类和方法 class Demo<T> implements Iterable<T>{ private Object[] arr; private int sz; private int endIndex = 0; Demo(int sz){ this.sz = sz; arr = new Object[sz]; } T[] add(T t){ if(endIndex==sz){ sz = sz*2; arr = Arrays.copyOf(arr, sz); } arr[endIndex++] = t; return (T[])arr; } T get(int index){ if(index>=endIndex)throw new RuntimeException("index outbound"); return (T)arr[index]; } int size(){ return endIndex; } class Itr implements Iterator<T>{ private int l = 0; private int r = endIndex; @Override public boolean hasNext() { // 确定存在下一个 return l==r?false:true; } @Override public T next() { // 返回当下元素 return (T)arr[l++]; } } public Iterator<T> iterator(){ return new Itr(); } public static void main(String[] args) { Demo<Integer> d = new Demo<>(10); d.add(1); d.add(2); Iterator<Integer> it = d.iterator(); for (Integer x: d) { System.out.println(x); } } }
这篇关于Implementing Iterators in Java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?