在Java中,你使用数组将变量的集合(具有相同的数据类型)存储在一个变量中。
在许多情况下,存储在数组中的数值会以随机的顺序出现。使用Java中的Arrays 类,你可以获得各种方法,用来操作数组。
我们将从Arrays 类中使用的方法之一是sort() ,该方法将数组按升序排序。
我们还将看到如何使用Java中Collections 类中的reverseOrder() 方法对一个数组进行降序排序。
如何在Java中使用升序排序数组?Arrays.sort()
在本节中,我们将看到一个例子,说明我们如何使用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); 。
注意,在使用点符号访问sort() 方法之前,我们先写了Arrays 类。
最后,我们进行了循环,并在控制台中打印了该数组。结果是一个排序的数组:1, 2, 5, 8, 10 。
在下一节中,我们将讨论对数组进行降序排序的问题。
如何在Java中用降序对数组进行排序?Collections.reverseOrder()
为了对数组进行降序排序,我们使用reverseOrder() ,我们可以从Collections 类中访问。
我们仍将使用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,
}
}
}
首先,我们导入了数组和集合类,因为我们将使用这些类所提供的方法。
然后我们创建了一个随机顺序的数字数组:Integer[] arr = { 5, 2, 1, 8, 10 }; 。 你会注意到,我们使用了Integer[] ,而不是像上一个例子中的int[] ,后者会产生错误。
为了对数组进行降序排序,我们这样做:Arrays.sort(arr, Collections.reverseOrder()); 。
第一个参数是数组arr ,它将被按升序排序。第二个参数--Collections.reverseOrder() --将颠倒排序后的数组的顺序,所以它是按降序排列的。
当循环浏览并打印时,该数组将看起来像这样:10, 8, 5, 2, 1 。
总结
在这篇文章中,我们谈到了在Java中对数组的排序。数组可以按升序或降序进行排序。
我们可以使用sort() 方法对数组进行升序排序,该方法可以通过Arrays 类访问。sort() 方法将被排序的数组作为一个参数输入。
为了对一个数组进行降序排序,我们使用了Collections 类提供的reverseOrder() 方法。在sort() 方法中,这个方法被作为第二个参数传入,这样,排序后的数组就可以按降序重新排列了。
编码愉快!