如何使用一行代码合并 set use java stream

heh*_*ehe 5 java merge java-stream

我有两套这样的?

Set<String> set1;
Set<String> set2;
Run Code Online (Sandbox Code Playgroud)

我想将它与

Set<String> s = Stream.of(set1, set2).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)

和这样的错误:

在此处输入图片说明

如何使用 flatMap 将 Set 转换为 String 对象的序列?有没有其他解决方案可以优雅地完成这个操作?

Era*_*ran 11

如果你坚持使用Streams,你可以使用flatMap将 your 转换Stream<Set<String>>为 a Stream<String>,可以将其收集到 a 中Set<String>

Set<String> s = Stream.of(set1, set2).flatMap(Set::stream).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)