Java 中 ArrayList 的排序

JavaJavaBeginner
立即练习

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

介绍

在本实验中,我们将学习如何在 Java 中对 ArrayList 进行排序。排序是编程中数据操作的基本操作之一。有多种方法可以对 ArrayList 进行排序,例如使用 Listsort() 方法、Collections 类的 sort() 方法或流 API 的 sorted() 方法。我们将在本实验中涵盖所有这些技术。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) 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/arraylist("ArrayList") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/generics("Generics") java/FileandIOManagementGroup -.-> java/stream("Stream") subgraph Lab Skills java/output -.-> lab-117454{{"Java 中 ArrayList 的排序"}} java/sorting -.-> lab-117454{{"Java 中 ArrayList 的排序"}} java/collections_methods -.-> lab-117454{{"Java 中 ArrayList 的排序"}} java/arraylist -.-> lab-117454{{"Java 中 ArrayList 的排序"}} java/generics -.-> lab-117454{{"Java 中 ArrayList 的排序"}} java/stream -.-> lab-117454{{"Java 中 ArrayList 的排序"}} end

导入 ArrayList 和 Comparator

在开始编写 Java 程序代码之前,我们需要导入 ArrayList 和 Comparator。

import java.util.ArrayList;
import java.util.Comparator;

创建一个 ArrayList

创建一个包含一些元素的 ArrayList。在这里,我们创建了一个包含四个整数元素(1030、1020、1010 和 1040)的 ArrayList。

ArrayList<Integer> arrList = new ArrayList<>();
arrList.add(1030);
arrList.add(1020);
arrList.add(1010);
arrList.add(1040);

使用 List 的 sort() 方法进行排序

我们可以使用 List 的 sort() 方法来对 ArrayList 进行排序。它需要一个 Comparator 参数来比较 ArrayList 中的元素。在这里,我们使用了 Comparator 接口的 comparing() 方法来比较 ArrayList 中的元素。最后,我们调用了 ArrayList 的 sort() 方法对其进行排序。

arrList.sort(Comparator.comparing(Integer::new));

显示排序后的 ArrayList

在对 ArrayList 进行排序后,我们可以显示排序后的元素以验证其是否已排序。

System.out.println(arrList);

使用 Collections 的 sort() 方法进行排序

我们也可以使用 Collections 类的 sort() 方法来对 ArrayList 进行排序。它的工作原理与 List 的 sort() 方法相同,但它需要传入一个待排序的列表作为参数。

Collections.sort(arrList);

显示排序后的 ArrayList

在使用 Collections 的 sort() 方法对 ArrayList 进行排序后,我们可以显示排序后的元素以验证其是否已排序。

System.out.println(arrList);

使用 stream API 的 sorted() 方法进行排序

如果我们在 Java 8 或更高版本中工作,可以使用 stream API 的 sorted() 方法对 ArrayList 进行排序。在这里,我们使用了 stream 的 sorted() 方法对 ArrayList 进行排序,最后使用 Collectors 类的 toList() 方法将排序后的 stream 转换为 ArrayList。

arrList = (ArrayList<Integer>)arrList.stream().sorted().collect(Collectors.toList());

显示排序后的 ArrayList

在使用 stream API 的 sorted() 方法对 ArrayList 进行排序后,我们可以显示排序后的元素以验证其是否已排序。

System.out.println(arrList);

总结

对 ArrayList 进行排序是编程中的一项重要操作。在本实验中,我们学习了如何使用 List 的 sort() 方法、Collections 类的 sort() 方法以及 stream API 的 sorted() 方法对 ArrayList 进行排序。我们还学习了如何创建 ArrayList、显示 ArrayList 中的元素以及对其进行排序。希望本实验能帮助你掌握如何在 Java 中对 ArrayList 进行排序。