在 Java 中实现 Set(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
构造方法的参数。
示例 2:使用流将数组转换为集合
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()
方法将数组转换为流,并使用 collect()
方法 Collectors.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
. 要将它转换为 array
,我们首先创建一个长度等于 set
的数组,并使用了 toArray()
方法将 set
转为数组。