原文: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
。
总结
在本文中,我们讨论了 Java 中的排序数组。数组可以按升序或降序排序。
我们可以使用可以从 Arrays
类的 sort()
方法对数组进行升序排序。sort()
方法接受要排序的数组作为参数。
要按降序对数组进行排序,我们使用了 Collections
类的 reverseOrder()
方法。这作为 sort()
方法中的第二个参数传入,以便可以按降序重新排列排序后的数组。
祝你编码愉快!