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-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求