List<String> flattened = Stream
.of(Arrays.asList("aa", "bb", "cc"), Arrays.asList("ddd", "eee", "fff"), Arrays.asList("uuuuu", "vvvvv", "kkkkkk"))
.flatMap(Collection::stream).collect(Collectors.toList());
System.out.println(flattened);
Run Code Online (Sandbox Code Playgroud)
现在打印出来[aa, bb, cc, ddd, eee, fff, uuuuu, vvvvv, kkkkkk]
问题:
如何反转 flatMap 操作?转换此流
[kkkkk, eee, uuuuu, bb, aa, vvvvv, fff, ddd, bb]
Run Code Online (Sandbox Code Playgroud)
回到这个
[[cc, bb, aa], [eee, fff, ddd], [kkkkk, vvvvv, uuuuu]]
Run Code Online (Sandbox Code Playgroud)
您必须执行一项collect
操作。Java 已经带来了一个你可以使用的标准化收集器库,例如
Collection<List<String>> grouped = flattened.stream()
.collect(Collectors.groupingBy(String::length))
.values();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1353 次 |
最近记录: |