跳到主要内容

Java 程序:将数组转换为集合(HashSet)及其逆转换

要理解此示例,你应该具备以下 Java 编程主题的知识:

示例 1:将数组转换为集合

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);
}
}

输出

Set: [a, b, c]

在上述程序中,我们有一个名为 array 的数组。为了将 array 转换为 set,我们首先使用 asList() 将其转换为列表,因为 HashSet 接受列表作为构造函数的参数。

然后,我们用转换后的列表中的元素初始化 set

示例 2:使用 stream 将数组转换为集合

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 相同。

在上述程序中,我们没有将数组转换为列表然后再转换为集合,而是使用流(stream)直接转换为集合。

我们首先使用 stream() 方法将数组转换为流,然后使用 collect() 方法,并将 toSet() 作为参数,将流转换为集合。

示例 3:将集合转换为数组

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));

}
}

输出

Array: [a, b, c]

在上述程序中,我们有一个名为 set 的 HashSet。为了将 set 转换为 array,我们首先创建一个与集合大小相等的数组长度,并使用 toArray() 方法。