• JAVA8学习——Stream底层的实现四(学习过程)


    Stream的深入(四)

    从更高角度去看一下:类与类之间的设计关系 (借助IDEA的图形处理工具 Ctrl+Alt+U)。

    ReferencePipeline的三个实现的子类:

    1. Head
    2. StatelessOp
    3. StatefulOp

    在没有终止操作之前:都是在数据的构造和构建阶段。

    终止操作:(TerminalOp的实现类)有4种

    1. FindOps
    2. MactchOps
    3. ReduceOps
    4. ForEachOps

    拿ForEachOp实现类类来看(其他的几类终止操作的结构类似)

    Sink (饮水槽)

    这个名字起的很到位。饮水槽,顺着就流走了。

    作用:从高处流到低处。让一个流从源开始不断的流向 ...ops...

    begin - accept - end - > TerminalSink

    流的实现方式,就显而易见了。

    并行流:是通过 ForkJoin 框架来完成的

    ForkJoinTask 是框架的底层类。

    ForkJoinPool 是框架的支撑类。


    至于:集合的forEach 和 流的 forEach 运行结果相同。

            List<String> list = Arrays.asList("hello", "world", "welcome");
            list.stream().forEach(System.out::println);
            list.forEach(System.out::println);
    

    集合的forEach ()和流没有任何的关系,只是实现了lambda表达式,更方便了而已。

    对于这个简单的操作来说:还是直接运用集合提供的遍历方法比较简单。

    关于流,就到这里。

    lambda表达式相关的结束了

    函数式接口相关结束了

    流相关的内容就开始结束了

  • 相关阅读:
    Hibernate学习笔记_关系映射
    Hibernate学习笔记_核心幵发接口及三种对象状态
    Hibernate学习笔记_联合主键
    Hibernate学习笔记_ID生成策略
    API的控制器
    MVC跨域API
    WindowsForms 调用API
    触发器
    视图
    分页的存储过程的用法
  • 原文地址:https://www.cnblogs.com/bigbaby/p/12165405.html
Copyright © 2020-2023  润新知