java.lang.Interable<T>

这个接口是JDK1.5新增的,JDK1.5 中,将Collection接口的iterator()方法提取到Iterable接口中声明。

实现了该接口的对象可以作为for(a : aList)遍历语句的操作对象。

在JDK 8中,新增了新功能 forEach、spliterator

这个接口有三个方法

iterator:返回一个 Iterator 对象

forEach:java8新增,一个默认方法,实现的功能是 遍历对象 对每个元素执行给的的action。这个方法会按顺序对每个元素执行给定的action,除非在执行的过程中抛出异常。如果抛出异常,这个异常会传递到这个方法的调用者中。当然如果你在实现类中,重写了这个方法,具体的实现逻辑就由你自己决定了

代码:

default void forEach(Consumer action) {

        Objects.requireNonNull(action);

        for(T t :this) {

            action.accept(t);

        }

    }


spliterator:java8新增,Spliterator是一个可分割迭代器(splitable iterator),可以和iterator顺序遍历迭代器一起看。jdk1.8发布后,对于并行处理的能力大大增强,Spliterator就是为了并行遍历元素而设计的一个迭代器,jdk1.8中的集合框架中的数据结构都默认实现了spliterator,后面我们也会结合ArrayList中的spliterator()一起解析。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容