三、JDK1.8新特性之Stream

三、JDK1.8新特性之Stream

  • 1.Stream
  • 2.Stream特点
  • 3.操作流程
  • 4.使用

1.Stream

  • 流(Stream)是对集合或数组中数据的操作,通过一系列操作得到最终想要的数据。

2.Stream特点

  • 操作是延迟执行的(只有需要结果时才会执行操作–终止操作)
  • 不会存储元素。
  • 不会该改变原对象,只是返回一个新的Stream流。

3.操作流程

  • 创建一个流–>操作(转换成新流)–>终止(执行操作并得到结果)

4.使用

  • 创建Stream(常用)
    • Collection接口中的stream()–串行流和parallelStream()–并行流方法获取流
    • Arrays工具类中的stream()方法
  • 操作
    • filter:过滤,按照一定的条件筛选满足条件的数据;
      • 源码:Stream filter(Predicate predicate);
    • limit:截取流中的元素,只取前几个
      • 源码:Stream limit(long maxSize);
    • skip:跳过流中的前n个元素,只取后面全部的元素
      • 源码:Stream skip(long n);
    • distinct:去重
    • sorted:对流中的元素进行排序
      • 源码:
        Stream sorted();
        Stream sorted(Comparator comparator);
    • map:将数据映射成另外的数据
      • 源码: Stream map(Function mapper);
    • parallel:获取并行流
  • 终止
    • forEach:遍历数据
    • min:求最小
    • max:求最大
    • count:数量大小
    • collect:将数据收集起来
    • reduce:规约

你可能感兴趣的:(笔记,java)