Java8中Stream"peek与map"区别

欣喜 Java经验 发布时间:2025-03-25 15:20:50 阅读数:12656 1
下文笔者讲述java8之Stream的peek和map区别说明,如下所示

peek和map简介说明

1.peek
   peek方法接收一个Consumer的入参
     而Consumer的实现类应该只有一个方法
	  该方法返回类型为void
Stream<T> peek(Consumer<? super T> action);

2.map
  map方法接收一个Function的入参
   而Function是有返回值的。
 <R> Stream<R> map(Function<? super T, ? extends R> mapper);

peek和map区别

 两者的区别是:
    map比peek多一个返回值 
1.peek
  peek可以用来修改数据
   如:
	list<User> list = getUser();
	List<User> userList = list.stream().peek(p -> p.setName("张三")).collect(Collectors.toList());
	 
2.map
  map可以用来转换数据类型
  如:
	List<User> list = getUser();
	List<String> nameList = list.stream().map(p -> p.getName()).collect(Collectors.toList());
从以上的例子,我们看出
    peek一般用于修改数据
	map一般用于转换数据类型
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202503/17428876058404.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者