原文:Java Sort Array – How to Reverse an Array in Ascending or Descending Order with Arrays.sort(),作者:Ihechikara Vincent Abba
在 Java 中,你使用数组将一组变量(具有相同数据类型)存储在单个变量中。
在许多情况下,存储在数组中的值以随机顺序出现。使用 Java 中的 Arrays 类,你可以访问可用于操作数组的各种方法。
我们将从 Arrays 类中使用的方法之一是 sort() 方法,它按升序对数组进行排序。
我们还将看到如何使用 Java 中 Collections 类的 reverseOrder() 方法对数组进行降序排序。
如何使用 Arrays.sort() 在 Java 中按升序对数组进行排序在本节中,我们将看到一个示例,说明如何使用 sort() 方法对数组进行升序排序。
import java.util.Arrays;class ArraySort {public static void main(String[] args) {int[] arr = { 5, 2, 1, 8, 10 };Arrays.sort(arr);for (int values : arr) {System.out.print(values + ", ");// 1, 2, 5, 8, 10,}}}我们在上面的示例中做的第一件事是导入 Arrays 类:import java.util.Arrays;。这使我们可以访问 Arrays 类的所有方法。
然后我们以随机顺序创建了一个包含数字的数组:int[] arr = { 5, 2, 1, 8, 10 };。
为了按升序对该数组进行排序,我们将数组作为参数传递给 sort() 方法:Arrays.sort(arr);。
请注意,Arrays 类是在使用点符号访问 sort() 方法之前首先编写的。
最后,我们在控制台中循环并打印了数组。结果是一个排序数组:1, 2, 5, 8, 10。
在下一节中,我们将讨论按降序对数组进行排序。
如何在 Java 中使用 Collections.reverseOrder() 对数组进行降序排序要按降序对数组进行排序,我们使用可以从 Collections 类访问的 reverseOrder()。
我们仍将使用 Arrays.sort();,但在此示例中,它将接受两个参数——要排序的数组和 Collections.reverseOrder()。
这是一个例子:
import java.util.Arrays;import java.util.Collections;class ArraySort {public static void main(String[] args) {Integer[] arr = { 5, 2, 1, 8, 10 };Arrays.sort(arr, Collections.reverseOrder());for (int values : arr) {System.out.print(values + ", ");// 10, 8, 5, 2, 1,}}}首先,我们导入了 Arrays 和 Collections 类,因为我们将使用这些类提供的方法。
然后我们以随机顺序创建了一个数字数组:Integer[] arr = { 5, 2, 1, 8, 10 };。你会注意到我们使用 Integer[] 而不是 int[],就像我们在上一个例子中所做的那样——后者会抛出一个错误。
要按降序对数组进行排序,我们这样做:Arrays.sort(arr, Collections.reverseOrder());。
第一个参数是数组 arr ,它将按升序排序。第二个参数 - Collections.reverseOrder() - 然后将反转排序数组的顺序,使其按降序排列。
循环并打印时,数组将如下所示:10, 8, 5, 2, 1。
总结在