首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java 8 Stream Api 中的 peek 操作

然后有小伙伴告诉我 peek 操作 也能实现元素的处理。但是你知道 map 和 peek 的区别吗?map 我们在开头文章已经讲过了,你可以去详细了解一下它,本文将重点讲解一下 peek 操作。...2. peek peek 操作接收的是一个 Consumer 函数。...3. peek VS map peek 操作 一般用于不想改变流中元素本身的类型或者只想元素的内部状态时;而 map 则用于改变流中元素本身类型,即从元素中派生出另一种类型的操作。...那么 peek 实际中我们会用于哪些场景呢?比如对 Collection 中的 T 的某些属性进行批处理的时候用 peek 操作就比较合适。...总结 我们今天了解 Stream 的 peek 操作,同时也回顾了 Stream 的生命周期。也顺带对 Consumer 函数进行了讲解。

1.8K21

还在stream中使用peek?不要被这些陷阱绊住了

事实上,我也经常在项目中看到有些小伙伴会经常使用peek来进行一些业务逻辑处理。 那么既然JDK文档中说peek方法主要是在调试的情况下使用,那么peek一定存在着某些不为人知的缺点。...一起来看看吧 peek的定义和基本使用 先来看看peek的定义: Stream peek(Consumer<?...这表示peek中的逻辑并没有被调用,所以这种情况大家一定要注意。 peek为什么只被推荐在debug中使用 如果你阅读过peek的文档,你可能会发现peek是只被推荐在debug中使用的,为什么呢?...因为peek方法中参数是一个Consumer,它不会对stream中元素的个数产生影响,所以最后的运行结果就是3。 peek中的日志输出并没有打印出来,表示peek没有被执行。...所以,我们在使用peek的时候,一定要注意peek方法是否会被优化。要不然就会成为一个隐藏很深的bug。 peek和map的区别 好了,讲到这里,大家应该对peek有了一个全面的认识了。

33720

还在stream中使用peek?不要被这些陷阱绊住了

事实上,我也经常在项目中看到有些小伙伴会经常使用peek来进行一些业务逻辑处理。 那么既然JDK文档中说peek方法主要是在调试的情况下使用,那么peek一定存在着某些不为人知的缺点。一起来看看吧。...peek的定义和基本使用 先来看看peek的定义: Stream peek(Consumer<?...这表示peek中的逻辑并没有被调用,所以这种情况大家一定要注意。 peek为什么只被推荐在debug中使用 如果你阅读过peek的文档,你可能会发现peek是只被推荐在debug中使用的,为什么呢?...因为peek方法中参数是一个Consumer,它不会对stream中元素的个数产生影响,所以最后的运行结果就是3。 peek中的日志输出并没有打印出来,表示peek没有被执行。...所以,我们在使用peek的时候,一定要注意peek方法是否会被优化。要不然就会成为一个隐藏很深的bug。 peek和map的区别 好了,讲到这里,大家应该对peek有了一个全面的认识了。

52020
领券