一、sort函數的介紹
sort函數是Java提供的排序函數之一,可以對數組進行升序排列,也可以對數組進行降序排列。在對數組進行排序時,sort函數會對數組進行原地排序,即對原始數組進行操作,不會創建新的數組。
sort函數有幾種重載形式,可以對不同類型的數組進行排序,同時也可以指定排序的起始和結束位置。其中最常用的形式是針對基本類型數組的排序,如下所示:
public static void sort(int[] a)
以上是sort函數的最基本形式,它會對整型數組a進行升序排列。如果要進行降序排列,則可以使用以下代碼:
Arrays.sort(a);
for(int i = 0; i < a.length / 2; i++) {
int temp = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = temp;
}
以上代碼先調用sort函數對數組a進行升序排列,然後通過交換數組元素的方式將數組變成降序排列。
二、基本類型數組的降序排列
下面是對基本類型數組進行降序排列的示例代碼:
import java.util.Arrays;
public class DescendingSort {
public static void main(String[] args) {
int[] a = {1, 5, 3, 8, 2};
Arrays.sort(a);
for(int i = 0; i < a.length / 2; i++) {
int temp = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = temp;
}
for(int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
以上代碼先對數組進行升序排列,然後通過交換數組元素的方式將數組變成降序排列。輸出結果為:
8 5 3 2 1
三、引用類型數組的降序排列
如果要對引用類型數組進行降序排列,需要實現一個Comparator接口,並將其傳遞給sort函數。以下是對字符串數組進行降序排列的示例代碼:
import java.util.Arrays;
import java.util.Comparator;
public class DescendingSort {
public static void main(String[] args) {
String[] a = {"apple", "banana", "orange", "pear"};
Arrays.sort(a, new Comparator<String>() {
public int compare(String s1, String s2) {
return s2.compareTo(s1);
}
});
for(int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
以上代碼中,通過實現Comparator接口的compare方法,將排序方式改為降序排列。輸出結果為:
pear orange banana apple
四、總結
本文介紹了Java數組的sort函數,包括對基本類型數組和引用類型數組的降序排列示例。在進行降序排列時,可以先進行升序排列,然後通過交換數組元素的方式將數組變成降序排列,也可以通過實現Comparator接口,將排序方式改為降序排列。
原創文章,作者:IFSC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/138898.html