排序 HashSet 元素

JavaJavaBeginner
立即练习

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

介绍

在本实验中,我们将学习如何在 Java 中对 HashSet 的元素进行排序。Java 提供了多种方法和技巧来对 HashSet 元素进行排序,我们将在本实验中讨论这些内容。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/output("Output") java/DataStructuresGroup -.-> java/sorting("Sorting") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") 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/output -.-> lab-117455{{"排序 HashSet 元素"}} java/sorting -.-> lab-117455{{"排序 HashSet 元素"}} java/collections_methods -.-> lab-117455{{"排序 HashSet 元素"}} java/packages_api -.-> lab-117455{{"排序 HashSet 元素"}} java/arraylist -.-> lab-117455{{"排序 HashSet 元素"}} java/hashset -.-> lab-117455{{"排序 HashSet 元素"}} java/files -.-> lab-117455{{"排序 HashSet 元素"}} java/create_write_files -.-> lab-117455{{"排序 HashSet 元素"}} java/stream -.-> lab-117455{{"排序 HashSet 元素"}} end

创建 Java 文件

~/project 目录下使用以下命令创建一个名为 SortHashSet.java 的 Java 文件:

touch ~/project/SortHashSet.java

导入 HashSet、Set 和 TreeSet 类

SortHashSet.java 文件中使用以下代码导入 java.util.HashSetjava.util.Setjava.util.TreeSet 类:

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

创建 HashSet 并添加元素

使用以下代码创建一个 HashSet 并向其中添加一些元素:

Set<Integer> hashSet = new HashSet<>();
hashSet.add(10);
hashSet.add(30);
hashSet.add(20);
hashSet.add(40);

System.out.println("HashSet elements: " + hashSet);

使用 TreeSet 对 HashSet 进行排序

使用 TreeSet 类对 HashSet 进行升序排序,并通过以下代码显示排序后的结果:

Set<Integer> treeSet = new TreeSet<>(hashSet);

System.out.println("Sorted HashSet elements (Ascending Order): " + treeSet);

使用 ArrayList 和 Collections.sort() 方法对 HashSet 进行排序

使用 ArrayList 和 Collections.sort() 方法对 HashSet 进行排序,并通过以下代码显示排序后的结果:

List<Integer> arrayList = new ArrayList<>(hashSet);
Collections.sort(arrayList);

System.out.println("Sorted HashSet elements using Collections.sort(): " + arrayList);

使用 Stream API 对 HashSet 进行排序

使用 Stream API 对 HashSet 进行排序,并通过以下代码显示排序后的结果:

List<Integer> streamList = hashSet.stream()
                                   .sorted()
                                   .collect(Collectors.toList());

System.out.println("Sorted HashSet elements using Stream API: " + streamList);

编译并运行 Java 文件

使用以下命令编译并运行 SortHashSet.java 文件:

javac SortHashSet.java
java SortHashSet

修改 HashSet 的元素

使用以下代码修改 SortHashSet.java 文件中的 HashSet 元素:

hashSet.add(50);
hashSet.add(70);
hashSet.add(60);

System.out.println("Modified HashSet elements: " + hashSet);

再次编译并运行 Java 文件

使用以下命令再次编译并运行 SortHashSet.java 文件:

javac SortHashSet.java
java SortHashSet

总结

在本实验中,我们学习了如何使用 TreeSet、ArrayList 和 Collections.sort() 方法以及 Stream API 对 Java 中的 HashSet 元素进行排序。HashSet 是 Java 中 Set 接口的一个实现类,用于存储数据但不维护任何顺序。Java 提供了 TreeSet 来存储排序后的数据。我们还学习了如何修改 HashSet 元素并验证 Java 程序的输出。