前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >you might not need peek

you might not need peek

作者头像
阿超
发布2022-08-21 12:54:06
3110
发布2022-08-21 12:54:06
举报
文章被收录于专栏:快乐阿超快乐阿超

上代码

代码语言:javascript
复制
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;


class Scratch {

    public static void main(String[] args) {
        class User {

            private String name;

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            @Override
            public String toString() {
                return "User{" +
                        "name='" + name + '\'' +
                        '}';
            }
        }
        Map<Integer, List<User>> userMap = new HashMap<>();
        userMap.put(1, Stream.generate(User::new).limit(3).collect(Collectors.toList()));

        // 我以前的写法
        userMap.put(1, userMap.get(1).stream().peek(u -> u.setName("吉良吉影")).collect(Collectors.toList()));

        // 我今天发现实际上这么写就可以了
        userMap.get(1).forEach(u -> u.setName("吉良吉影"));

        userMap.get(1).forEach(System.out::println);

    }

}

这是因为forEach中进行操作会改变原集合对象

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档