美文网首页
java8 stream流

java8 stream流

作者: 砂糖z | 来源:发表于2018-07-19 14:10 被阅读0次

记一次糟心的使用:

前奏:

首先stream流分为三个阶段:

  1.创建

  2.中间操作 :返回的还是流

  3.终止操作:

最重要的一点,如果你的代码里没有敲最后的终止操作,中间操作的代码不会执行,不会有结果的产生。这个叫惰性求值。

关于stream流有两个问题:

1.并行流和串行流?

并行流采用ForkJoinPool实现的,线程数默认是cpu的数量

2.中间操作:

无状态操作和有状态操作:

2.flatMap 和map?

插入一个来自网络的图片

3.stream运行机制:

wuzhua

1.只要没有有状态操作,就采用链式调用机制,每一条数据都只迭代一次,有状态操作会阶段无状态,单独处理.

每一个中间操作返回一个新的流,流中有一个属性sourceStage指向同一个Head

head-->nextStage-nextStage------ null

2.并行操作:有状态的中间操作不一定并行操作。

3.parallel()/sequential() 中间操作,不过并没有创建新的流,只是修改Head的并行标志

使用:

数据结果:

使用2:

产生结果:

总结:

我在使用了还有问题,和lambda和方法的引用结合上,写的不顺手。原来是我lambda学的不到位,lambda学好了在用stream比较好。

char

相关文章

网友评论

      本文标题:java8 stream流

      本文链接:https://www.haomeiwen.com/subject/eehapftx.html