久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

339次閱讀
沒有評論

共計 1542 個字符,預計需要花費 4 分鐘才能閱讀完成。

在 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 {
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 {
@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() 方法進行數組排序的詳細解釋,包括對基本數據類型數組和對象數組的升序和降序排序的示例。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-22發表,共計1542字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 搜索| 图们市| 定兴县| 汤阴县| 岳阳市| 府谷县| 将乐县| 博湖县| 武山县| 嘉定区| 沛县| 衢州市| 雅江县| 通道| 克拉玛依市| 延边| 榆林市| 吉林市| 积石山| 阳高县| 随州市| 英超| 焦作市| 廉江市| 和硕县| 旌德县| 东平县| 秭归县| 长寿区| 广东省| 灵寿县| 乐东| 张北县| 二手房| 阜新| 绵竹市| 芦溪县| 磐安县| 河西区| 德令哈市| 呈贡县|