小猪猪

Manatee

Java 集合系列(2): Iterator迭代器
package java.util;

import java.util.function.Consumer;

/**
 * @param <E> the type of elements returned by this iterator
 *
 * @author  Josh Bloch
 * @see Collection
 * @see ListIterator
 * @see Iterable
 * @since 1.2
 */
public interface Iterator<E> {
    
	//即判断还有没有下一个元素
    boolean hasNext();

    //返回下一个在迭代器里面的元素,没有就抛NoSuchElementException异常
    E next();

    //默认从集合中删除最后一个元素,默认实现抛出一个UnsupportedOperationException异常,message信息为remove
    default void remove() {
        throw new UnsupportedOperationException("remove");
    }

    //JDK8新加的方法
    //为每个剩余元素执行给定的操作,直到所有的元素都已经被处理或行动将抛出一个异常。
    //通过反复调用next方法,就可以对集合完成访问操作。但是如果到达集合末尾,next方法将会抛出一个NoSuchElementException。
    //因此,需要在调用next方法之前,调用hasNext方法做判断。如果迭代器对象还有多个可供访问的元素,则这个方法返回true。
    default void forEachRemaining(Consumer<? super E> action) {
        Objects.requireNonNull(action);
        while (hasNext())
            action.accept(next());
    }
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oqkdws/article/details/79968118
文章标签: Iterator
个人分类: 集合框架
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Java 集合系列(2): Iterator迭代器

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭