将数组转换为集合

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在 Java 中,数组(Array)是一种基于索引的数据结构,用于存储相似类型的数据,而集合(Set)则是一组唯一元素的集合。将数组转换为集合是 Java 中的一个常见用例,尤其是在不需要重复元素的情况下。在本实验中,我们将学习如何使用多种方法在 Java 中将数组转换为集合。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java/BasicSyntaxGroup -.-> java/variables("Variables") java/StringManipulationGroup -.-> java/strings("Strings") java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/hashset("HashSet") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/FileandIOManagementGroup -.-> java/stream("Stream") subgraph Lab Skills java/variables -.-> lab-117416{{"将数组转换为集合"}} java/strings -.-> lab-117416{{"将数组转换为集合"}} java/arrays -.-> lab-117416{{"将数组转换为集合"}} java/arrays_methods -.-> lab-117416{{"将数组转换为集合"}} java/collections_methods -.-> lab-117416{{"将数组转换为集合"}} java/hashset -.-> lab-117416{{"将数组转换为集合"}} java/files -.-> lab-117416{{"将数组转换为集合"}} java/create_write_files -.-> lab-117416{{"将数组转换为集合"}} java/stream -.-> lab-117416{{"将数组转换为集合"}} end

创建一个 Java 文件

让我们使用以下命令在 ~/project 目录中创建一个新的 Java 文件:

touch ~/project/ArrayToSet.java

导入必要的类

在我们的 Java 文件中,首先需要导入程序所需的类。我们将使用 HashSetCollectionsArraysSet 类。添加以下代码以导入这些类:

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

创建一个数组

让我们创建一个包含一些重复元素的简单字符串数组。添加以下代码:

String[] fruits = {"Apple", "Orange", "Banana", "Orange"};

使用 addAll() 方法将数组转换为集合

在这一步中,我们将使用 Collections 类的 addAll() 方法将数组转换为集合。addAll() 方法将数组的所有元素添加到指定的集合中。将以下代码添加到 main() 方法中:

Set<String> fruitsSet = new HashSet<>();
Collections.addAll(fruitsSet, fruits);
System.out.println(fruitsSet);

使用 asList() 方法将数组转换为集合

在这一步中,我们将使用 Arrays 类的 asList() 方法将数组转换为集合。asList() 方法返回数组的列表,可以通过 Set 构造函数将其转换为集合。将以下代码添加到 main() 方法中:

Set<String> fruitsSet = new HashSet<>(Arrays.asList(fruits));
System.out.println(fruitsSet);

使用 Java 8 Streams 将数组转换为集合

在这一步中,我们将使用 Java 8 Streams 中 Collectors 类的 toSet() 方法将数组转换为集合。toSet() 方法将流中的元素收集到一个 Set 实例中。将以下代码添加到 main() 方法中:

Set<String> fruitsSet = Arrays.stream(fruits)
                        .collect(Collectors.toSet());
System.out.println(fruitsSet);

编译并运行代码

我们可以使用以下命令编译并运行 Java 程序:

javac ArrayToSet.java && java ArrayToSet

在输出中,我们应该会看到数组中的唯一元素,这些元素在转换过程中被添加到了集合中。

总结

在本实验中,我们学习了如何使用三种不同的方法将数组转换为集合:addAll()asList() 和 Java 8 Streams 的 toSet()。我们还学习了如何导入必要的类、创建数组以及使用命令行运行 Java 程序。通过理解这些概念,我们可以轻松地在 Java 中将数组转换为集合。