Java8新特性->stream流式处理

stream

特点

  1. 不改变原来的数据源,会将操作后的数据保留到另一个对象中
  2. 惰性求值,流在中间处理过程中,只是对操作进行记录,而不会立即执行

常用方法

创建流

  1. stream() 获取一个顺序流
  2. parallelStream() 获取一个并行流

中间操作

筛选与切片
    filter 过滤流中的某些元素 limit 获取n个元素 skip 跳过n元素,配合limit 可实现分页 distinct 通过流元素的hashCode跟equals去重元素
映射
    map 接收一个函数作为参数,将每个元素映射为一个新的元素 flatmap 接收一个函数作为参数<具体用法之后填> peek 跟map很像,只是方法没有返回值,为Consumer表达式
排序
    sorted 自然排序,流元素得实现Comparable接口 sorted(Comparator): 定制排序
匹配与聚合
    allMatch 接收一个Predicate函数,当流中每个元素都符合该断言才返回true noneMatch 当流中每个元素都不符合该断言时才返回true anyMatch 当流中有一个满足该断言则返回true findFirst 返回流第一个元素 findAny 返回流中任意元素 count 返回流中元素的总个数 max 返回流中元素最大值 min 返回流中元素最小值
收集操作
    collect 接收一个Collector实例,将流中元素收集成另一个数据结构
经验分享 程序员 微信小程序 职场和发展