在 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 的数组。 要转换 arrayset,我们首先使用 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]

在上面的程序中,我们有一个名为 setHashSet. 要将它转换为 array,我们首先创建一个长度等于 set 的数组,并使用了 toArray() 方法将 set 转为数组。