当前位置: 首页 > 工具软件 > Peek > 使用案例 >

Java8 Stream map与peek的区别

沃阳飙
2023-12-01

  1. 入参不同,map要求function入参,而peek要求Consumer
  2. map需要返回值,peek不需要
  3. peek接收一个没有返回值的λ表达式,可以做一些输出,外部处理等。map接收一个有返回值的λ表达式,之后Stream的泛型类型将转换为map参数λ表达式返回的类型

注意:java中的Stream带有lazy执行特征,在整个操作过程中, 只有遇到terminate操作函数,才会触发stream的整体运算。即,如果没有terminate动作,中间不论做什么, 都不会执行。map和peek都属于中间操作,只有执行完终止操作才会对原来的对象进行改变。

理解:stream就像水管,中间竹炭过滤下、加点明矾加点氯,如果不收集起来就都留到下水道里去了。

 类似资料: