// 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,满足去重逻辑
来源:CSDN
作者:qq_34004088
链接:https://blog.csdn.net/qq_34004088/article/details/95597484