java8_02_stream

来源:互联网 发布:大数据的作用与意义 编辑:程序博客网 时间:2024/05/16 19:21

Java8属于读书笔记系列,版权归《Java 8实战》,请勿商用。欢迎转载!!

  1. 流的定义:
    从支持数据处理操作的源生成的元素序列。
    • 元素序列——流的目的在于计算,集合将的是数据源
    • 数据处理操——流的数据处理功能支持类似于数据库的操作,以及函数式编程语言中
      的常用操作。 如filter、map、reduce、find、match、sort等。流操作可以顺序执
      行,也可并行执行。
    • 流水线
    • 内部迭代
  2. 使用流:
    总结就是三步

    • 一个数据源(如集合)来执行一个查询;
    • 一个中间操作链,形成一条流的流水线
    • 一个终端操作,执行流水线,并能生成结果。(eg:count()、collect(toList()) )

    中间操作

    操作 返回类型 操作参数 函数描述符 filter Stream Predicate T-> boolean map Stream Function T -> R limit Stream sorted Stream Comparator (T,T) ->int distinct Stream

    终端操作

    操作 类型 目的 forEach 终端 消费流中的每个元素并对其应用Lambda。返回void count 终端 返回流中元素的个数。返回long collect 终端 把流归约成一个集合,比如List、Map甚至是Integer。