🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java 程序:将数组转换为集(`HashSet`),反之亦然 > 原文: [https://www.programiz.com/java-programming/examples/convert-array-set](https://www.programiz.com/java-programming/examples/convert-array-set) #### 在此程序中,您将学习如何在 Java 中将数组转换为集合,反之亦然。 ## 示例 1:将数组转换为集 ```java import java.util.*; public class ArraySet { public static void main(String[] args) { String[] array = {"a", "b", "c"}; Set<String> set = new HashSet<>(Arrays.asList(array)); System.out.println("Set: " + set); } } ``` 运行该程序时,输出为: ```java Set: [a, b, c] ``` 在上面的程序中,我们有一个名为`array`的数组。 要将`array`转换​​为`set`,我们首先使用`asList()`将其转换为列表,因为`HashSet`接受`list`作为构造器。 然后,使用转换后的列表的元素初始化`set`。 * * * ## 示例 2:使用流将数组转换为集 ```java import java.util.*; public class ArraySet { public static void main(String[] args) { String[] array = {"a", "b", "c"}; Set<String> set = new HashSet<>(Arrays.stream(array).collect(Collectors.toSet())); System.out.println("Set: " + set); } } ``` 该程序的输出与示例 1 相同。 在上面的程序中,我们不是使用`array`转换为`list`然后转换为`set`,而是使用`stream`转换为`set`。 我们首先使用`stream()`方法将数组转换为流,并使用`toSet()`作为参数的`collect()`方法将流转换为集合。 * * * ## 示例 3:将集转换为数组 ```java import java.util.*; public class SetArray { public static void main(String[] args) { Set<String> set = new HashSet<>(); set.add("a"); set.add("b"); set.add("c"); String[] array = new String[set.size()]; set.toArray(array); System.out.println("Array: " + Arrays.toString(array)); } } ``` 运行该程序时,输出为: ```java Array: [a, b, c] ``` 在上面的程序中,我们有一个名为`set`的`HashSet`。 要将`set`转换为`array`,我们首先创建一个长度等于集合大小的数组,并使用`toArray()`方法。