java8中map和flatMap的区别

断了今生、忘了曾经 提交于 2019-12-07 20:59:21
 // 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,满足去重逻辑
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!