JAVA8学习笔记(三)Stream

Stream

  1. 流由三部分构成,源–零个或多个中间操作–终止操作
  2. 流操作的分类:
    |—惰性求值 只有终止操作调用时才执行。
    |—及早求值 reduce或终止操作。
  3. 流创建的方式
    |—Stream.of();
    |—Stream.of(数组);
    |—Arrays.stream(集合);
    |—Collection.stream;
    |—Stream.generate();
    |—Stream.empty();
    |—Stream.iterate().limit();
  4. 流不存储值,通过管道的方式获取值。
  5. 本质是函数式的,对流的操作会生成一个结果,不过并不会修改底层的数据源,集合可以作为流的底层数据源。
  6. 流的所有方法基本都是高阶函数,即都需要传入函数作为参数。
  7. stream被使用或被关闭就不能再次被使用,否则会报异常。
  8. 流关注计算,集合关注存储
  9. 流与迭代器类似的一点是,无法重复消费。

Collectors分区分组

  • group by
  • partition by
    分区是特殊的分组,只有true和false两种。

猜你喜欢

转载自blog.csdn.net/weixin_39781526/article/details/85073851