Java 程序:数组与 Set (HashSet) 相互转换

要理解此示例,您应了解以下Java编程主题


示例 1:将数组转换为 Set

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:使用流将数组转换为 Set

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()方法,并将toSet()作为参数,将流转换为集合。


示例 3:将 Set 转换为数组

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战