Java8中Stream"peek与map"区别
下文笔者讲述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一般用于转换数据类型
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。