Stream的API使用-peek

167 阅读1分钟

Stream的API使用-peek

该方法主要用于debug,如果你想看到在管道中某个点流过的元素时,可以用该方法。
可能说的不是很容易理解,先看例子:

image.png 管道指的就是filter、peek、map、peed、collect这些操作组成了一个管道,而filter、map都是管道中的一个点。

从这个peek监控元素例子中也可以看到Stream流水线管道的工作流程:
并不是跟普通方法一样,所有元素走完filter之后继续执行下一个方法,而是一个元素在这个管道中流过去之后下一个元素再往下流,当然如果再某个点不通过就不会继续往下流了

一般在生产环境是不会像案例这样用的,peek的参数是一个Consumer函数式接口,其实就是传入一个Consumer让元素挨个去执行,举一个生产环境会用到的例子:给集合中的对象set值

image.png