JDK8概览

1. Lambda表达式

基本使用

2.Optional

基本使用

3.Stream

  • 创建Stream
  • 后接 0个 或 多个 中间操作 (下面以map方法为例,其他方法的逻辑大部分与之相似)
  • 最后添加 1个 终止操作
    • 若没有终止操作,stream 只构建了一系列的对象,并没有触发调用对象里面的方法,因此 stream 什么也不会做
    • 当终止操作前没有中间操作时,出于效率上的考量,直接对数据源进行遍历
    • 当存在中间操作时
      • 通过 TerminalOp 的构造工厂,获取对应的 TerminalOp
      • 调用 TerminalOP 中的 evaluateSequential 方法
        • 调用 PipelineHelper 的 wrapAndCopyInto 方法(ReferencePipeline 实现了 PipelineHelper接口 )对数据进行遍历
    • collect 方法(TODO......)
posted @ 2019-11-03 02:40  飞蛇在水  阅读(193)  评论(0编辑  收藏  举报