// 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,满足去重逻辑
java8中map和flatMap的区别
最新推荐文章于 2025-06-21 10:25:26 发布
