亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

詳解Java sort()數組排序(升序和降序)

小云
236
2023-08-15 12:45:41
欄目: 編程語言

在Java中,使用sort()方法可以對數組進行排序,sort()方法有兩個重載的版本:一個對基本數據類型數組進行排序,一個對對象數組進行排序。

  1. 對基本數據類型數組排序:

sort()方法可以直接對基本數據類型數組進行升序排序,也可以通過傳入Comparator對象對數組進行降序排序。

升序排序示例:

int[] arr = {5, 3, 1, 4, 2};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));  // 輸出:[1, 2, 3, 4, 5]

降序排序示例:

int[] arr = {5, 3, 1, 4, 2};
Arrays.sort(arr);
int n = arr.length;
for (int i = 0; i < n / 2; i++) {
int temp = arr[i];
arr[i] = arr[n - 1 - i];
arr[n - 1 - i] = temp;
}
System.out.println(Arrays.toString(arr));  // 輸出:[5, 4, 3, 2, 1]
  1. 對對象數組排序:

對于對象數組,可以實現Comparable接口或者使用Comparator對象來指定排序規則。

實現Comparable接口示例:

class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Person o) {
return this.age - o.getAge();  // 按照年齡升序排序
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
Person[] people = {
new Person("Alice", 20),
new Person("Bob", 18),
new Person("Charlie", 22)
};
Arrays.sort(people);
System.out.println(Arrays.toString(people));  // 輸出:[Person [name=Bob, age=18], Person [name=Alice, age=20], Person [name=Charlie, age=22]]

使用Comparator對象示例:

class AgeComparator implements Comparator<Person> {
@Override
public int compare(Person p1, Person p2) {
return p2.getAge() - p1.getAge();  // 按照年齡降序排序
}
}
Person[] people = {
new Person("Alice", 20),
new Person("Bob", 18),
new Person("Charlie", 22)
};
Arrays.sort(people, new AgeComparator());
System.out.println(Arrays.toString(people));  // 輸出:[Person [name=Charlie, age=22], Person [name=Alice, age=20], Person [name=Bob, age=18]]

以上就是對Java中sort()方法進行數組排序的詳細解釋,包括對基本數據類型數組和對象數組的升序和降序排序的示例。

0
平远县| 澄江县| 武冈市| 芦山县| 南部县| 乐陵市| 土默特右旗| 凭祥市| 上杭县| 长阳| 晋江市| 澳门| 姜堰市| 嘉义县| 林州市| 千阳县| 鄂托克前旗| 米泉市| 霍州市| 武穴市| 株洲县| 炉霍县| 天气| 武邑县| 稷山县| 兴国县| 汤阴县| 崇左市| 界首市| 辉南县| 讷河市| 沙田区| 蓝田县| 苍梧县| 龙游县| 嘉荫县| 秦安县| 长乐市| 垣曲县| 资兴市| 阿合奇县|