美文网首页
Java基础之Iterable接口

Java基础之Iterable接口

作者: 懂码哥 | 来源:发表于2020-02-21 15:17 被阅读0次

    说明:

    • Iterable接口是Java集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素。

    源码:

    package java.lang;
    
    import java.util.Iterator;
    import java.util.Objects;
    import java.util.Spliterator;
    import java.util.Spliterators;
    import java.util.function.Consumer;
    
    public interface Iterable<T> {
        
        /**
         * iterator为Java中的迭代器对象,是能够对List这样的集合进行迭代遍历的底层依赖。
         * 而iterable接口里定义了返回iterator的方法,相当于对iterator的封装,
         * 同时实现了iterable接口的类可以支持for each循环
         */
        Iterator<T> iterator();
    
      
        /**
         * 对Iterable中的元素进行指定的操作
         * java8中forEach()方法是为了方便遍历并操作集合内的元素
         */
        default void forEach(Consumer<? super T> action) {
            Objects.requireNonNull(action);
            for (T t : this) {
                action.accept(t);
            }
        }
    
         /**
         * java8返回一个内部元素为T类型的并行迭代器
         * spliterator()方法则提供了一个可以并行遍历元素的迭代器,以适应现在cpu多核时代并行遍历的需求。
         */
        default Spliterator<T> spliterator() {
            return Spliterators.spliteratorUnknownSize(iterator(), 0);
        }
    }
    

    注:

    • Java8新加了default关键字,被其修饰的方法可以不必由子类实现,并且由dafault修饰的方法在接口中有方法体。

    相关文章

      网友评论

          本文标题:Java基础之Iterable接口

          本文链接:https://www.haomeiwen.com/subject/ojmcqhtx.html