Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序实现数组(Array)与Set(HashSet)相互转换

Java 实例大全

在此程序中,您将学习如何在Java程序中如何实现数组(Array)与Set(HashSet)相互转换。

示例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的数组。要将数组转换为set,首先使用asList()将其转换为list,因为HashSet接受list作为构造函数

然后,我们使用转换后的列表的元素初始化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()方法将数组转换为流,并使用以toSet()作为参数的collect()方法将流转换为集合

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

Java 实例大全