java8中map和flatMap的区别

博客聚焦于Java 8里map和flatMap的区别。在Java编程中,map和flatMap是重要的操作,理解二者差异对开发者有重要意义,能帮助其在不同场景下正确选择使用,提升代码效率和质量。
 // map和flatMap的区别,map最终是stream流。flatMap扁平化操作,最终是定义的类型,如String
    

List<String> sss = new ArrayList<>();
    sss.add("a");
    sss.add("b");
    sss.add("c");
    sss.add("a");
    sss.add("b");
    sss.add("c");

        // 去重字符串并打印
  

  sss.stream()
            .map(ss -> ss.split(""))
            .distinct()
            .collect(toList()).forEach(str -> System.out.println(str));

// 打印6个流: [Ljava.lang.String;@7ae590f6;[Ljava.lang.String;@7ab63838;
// [Ljava.lang.String;@4e974b9e;[Ljava.lang.String;@370c7cc5;
// [Ljava.lang.String;@61b838f2;[Ljava.lang.String;@2a04ab05


        // 去重字符串并打印
        Stream.of(sss)
                .flatMap(b -> b.stream())
                .distinct()
                .collect(toList()).forEach(str -> System.out.println(str));
        // 打印:a,b,c,满足去重逻辑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值