Lau*_*Lau 2 java lambda functional-programming java-8 java-stream
我想组合列表中的每两个字符串并使用java8流返回组合列表:
List<String> list;
Stream.concat(list.stream(), list.stream())
.collect(toList());
Run Code Online (Sandbox Code Playgroud)
但是,此代码不会生成组合,只会生成列表的元素.我究竟做错了什么.我还希望这个代码可以并行化,以便它可以在多个内核上运行
用于flatMap以组合方式组合字符串.每个字符串将与列表中的每个字符串连接在一起.
List<String> combinations =
list.stream()
.flatMap(str1 -> list.stream().map(str2 -> str1 + str2))
.collect(toList());
Run Code Online (Sandbox Code Playgroud)
为了使并行操作,换出.stream()了.parallelStream().根据您的输入大小,这可能会使操作更慢或更快.
| 归档时间: |
|
| 查看次数: |
2809 次 |
| 最近记录: |