Set<Set<String>> 转Set
时间: 2023-07-09 12:09:36 浏览: 198
将 `Set<Set<String>>` 转换为 `Set<String>` 可以使用以下代码:
```java
Set<Set<String>> setOfSets = new HashSet<>();
// 添加元素到 setOfSets
Set<String> set = new HashSet<>();
setOfSets.forEach(set::addAll);
```
上面的代码将 `setOfSets` 中的所有元素添加到新的 `set` 集合中。由于 `Set` 是无序的,因此无需担心重复元素的问题。
相关问题
一句代码 完成Set<Set<String>> 转Set<String>
可以使用 Java 8 的 `flatMap` 方法来完成一行代码实现 `Set<Set<String>>` 转 `Set<String>`,代码如下:
```java
Set<Set<String>> setOfSets = new HashSet<>();
// 添加元素到 setOfSets
Set<String> set = setOfSets.stream().flatMap(Set::stream).collect(Collectors.toSet());
```
上面的代码先将 `setOfSets` 转换为 `Stream<Set<String>>`,然后使用 `flatMap` 将所有子集合合并为一个 `Stream<String>`,最后使用 `collect` 将所有元素收集到一个新的 `Set<String>` 中。
Set<Integer> 转 Set<String>
可以使用Java 8的Stream API来实现Set<Integer> 转 Set<String>:
```java
Set<Integer> intSet = new HashSet<>();
intSet.add(1);
intSet.add(2);
intSet.add(3);
Set<String> stringSet = intSet.stream()
.map(String::valueOf)
.collect(Collectors.toSet());
System.out.println(stringSet); // 输出 [1, 2, 3]
```
这里使用了`Stream.map()`方法将Integer类型的元素转换成String类型,然后使用`Collectors.toSet()`方法将转换后的结果收集到一个新的Set<String>中。
阅读全文