我们发现Function 比 Consumer 多了一个 return。 这也就是peek 与 map的区别了。 总结:peek接收一个没有返回值的λ表达式,可以做一些输出,外部处理等。map接收一个有返回值的λ表达式,之后Stream的泛型类型将转换为map参数λ表达式返回的类型
less 代码解读复制代码retPage.setRecords(retList.stream().peek(questionPageVO->{questionPageVO.setCreateUserName(userIdAndUserMap.get(questionPageVO.getCreateId()).getUsername());questionPageVO.setUpdateUserName(userIdAndUserMap.get(questionPageVO.getUpdateId()).getUsername());}).collect(Collector...
先后输出 filter、map 之后的流元素,实际工作中如果想看某个过程的结果,可以派上用场。 再来分别看下 map 和 peek 的方法参数: 可以看到,map 接收 Function 函数式接口参数(接收一个参数,返回一个参数),peek 接收 Consumer 函数式接口参数(接收一个参数,无返回)。 不理解的话来看下面的示例: 假如有以下 List:...
先后输出 filter、map 之后的流元素,实际工作中如果想看某个过程的结果,可以派上用场。 再来分别看下 map 和 peek 的方法参数: 可以看到,map 接收 Function 函数式接口参数(接收一个参数,返回一个参数),peek 接收 Consumer 函数式接口参数(接收一个参数,无返回)。 不理解的话来看下面的示例: 假如有以下 List:...
但idea提示我这里可以替换为peek, 替换之后的写法 retPage.setRecords(retList.stream().peek(questionPageVO -> { questionPageVO.setCreateUserName(userIdAndUserMap.get(questionPageVO.getCreateId()).getUsername()); questionPageVO.setUpdateUserName(userIdAndUserMap.get(questionPageVO.getUpdateId()).ge...
3. peek VS map peek操作 一般用于不想改变流中元素本身的类型或者只想元素的内部状态时;而map则用于改变流中元素本身类型,即从元素中派生出另一种类型的操作。这是他们之间的最大区别。 那么peek实际中我们会用于哪些场景呢?比如对Collection中的 T 的某些属性进行批处理的时候用peek操作就比较合适。 如果我们要...
map 和 peek 都是 Stream 提供的流处理方法。 首先看 peek 的使用源码注释: This method exists mainly to support debugging, where you want to see the elements as they flow past a certain point in a pipeline: 翻译: 这个方法主要用于支持 debug 调试,当你想看处于某个特定点的流元素时 ...
代码解读复制代码 Stream<String>stream=Stream.of("hello","felord.cn");List<String>strs=stream.peek(System.out::println).collect(Collectors.toLIst()); 比如下图,我们给圆球加了一个框: 3. peek VS map peek操作 一般用于不想改变流中元素本身的类型或者只想操作元素的内部状态时;而map则用于改变流...
3. peek VS map peek操作 一般用于不想改变流中元素本身的类型或者只想元素的内部状态时;而map则用于改变流中元素本身类型,即从元素中派生出另一种类型的操作。这是他们之间的最大区别。那么 peek 实际中我们会用于哪些场景呢?比如对Collection<T>中的T的某些属性进行批处理的时候用peek操作就比较合适。如果我们...
Stream<String>stream=Stream.of("hello","felord.cn");List<String>strs=stream.peek(System.out::println).collect(Collectors.toLIst()); 比如下图,我们给圆球加了一个框: 3. peek VS map peek操作 一般用于不想改变流中元素本身的类型或者只想元素的内部状态时;而map则用于改变流中元素本身类型,即从元...