java.lang.Interable

这个接口是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()一起解析。

你可能感兴趣的:(java.lang.Interable)