📜  Java程序将数组转换为Set(HashSet),反之亦然

📅  最后修改于: 2020-09-26 18:05:56             🧑  作者: Mango

在此程序中,您将学习如何在Java中将数组转换为集合,反之亦然。

示例1:将数组转换为集合
import java.util.*;

public class ArraySet {

    public static void main(String[] args) {

        String[] array = {"a", "b", "c"};
        Set set = new HashSet<>(Arrays.asList(array));

        System.out.println("Set: " + set);
    }
}

输出

Set: [a, b, c]

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

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


示例2:使用流将数组转换为Set
import java.util.*;

public class ArraySet {

    public static void main(String[] args) {

        String[] array = {"a", "b", "c"};
        Set set = new HashSet<>(Arrays.stream(array).collect(Collectors.toSet()));

        System.out.println("Set: " + set);

    }
}

程序的输出与示例1相同。

在上面的程序中,我们不是使用数组将数组转换为列表然后转换为集合,而是使用流将其转换为集合。

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


示例3:将集转换为数组
import java.util.*;

public class SetArray {

    public static void main(String[] args) {

        Set 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转换为数组 ,我们首先创建一个长度等于set大小的数组,并使用toArray()方法。