知名网站建设公司 北京,石家庄什么时候能解封,温州网站建设优化公司,网站没续费会怎样本文实例讲述了Java实现的自定义迭代器功能。分享给大家供大家参考#xff0c;具体如下#xff1a;编写自己的Iterator#xff0c;实现Iterator接口#xff0c;这里多说一句#xff0c;实现Iterable后#xff0c;可以用“foreach”循环遍历你的对象。import java.util.It…本文实例讲述了Java实现的自定义迭代器功能。分享给大家供大家参考具体如下编写自己的Iterator实现Iterator接口这里多说一句实现Iterable后可以用“foreach”循环遍历你的对象。import java.util.Iterator;import java.util.NoSuchElementException;/*** 演示Iterator和Iterable接口并说明怎样编写一个用于对象数组的简单迭代器。*/public class AarrayIterator implements Iterable, Iterator {private final static String[] names {rose, petunia, tulip};public static void main(String[] args) {AarrayIterator arrayIterator new AarrayIterator(names);// Java 5,6的方式for (String s : arrayIterator) {System.out.println(s);}// Java 8的形式arrayIterator.forEach(System.out::println);}/*** 要遍历的数据**/protected T[] data;protected int index 0;/*** 构造一个AarryIterator对象。** param data 被迭代的对象数组*/public AarrayIterator(final T[] data) {setData(data);}/*** 设置(重置)数组为给定的数组重置迭代器。* 参数d代表被迭代的数组对象。** param d 被迭代的数组对象*/public void setData(final T[] d) {this.data d;index 0;}/*** 如果不是末尾返回true例如if next()语句将成功执行。* 否则返回false,执行if next()语句会抛出异常。** return*/public boolean hasNext() {return index data.length;}/*** 返回该数据的下一个元素** return*/public T next() {if (hasNext()) {return data[index];}throw new NoSuchElementException(only data.length elements);}public void remove() {throw new UnsupportedOperationException(This demo Iterator does not implement the remove method);}/*** Iterator的方法** return*/public Iterator iterator() {index 0;return this;}}执行结果rosepetuniatuliprosepetuniatulip希望本文所述对大家java程序设计有所帮助。