Arrays.sort()方法用于对数组进行排序。它有多个重载方法,可以对不同类型的数组进行排序。
常用的Arrays.sort()方法有以下几种:
public static void sort(int[] arr):对整型数组进行升序排序。
public static void sort(int[] arr, int fromIndex, int toIndex):对整型数组的指定范围进行升序排序,包括fromIndex,但不包括toIndex。
public static void sort(Object[] arr):对引用类型数组进行升序排序,要求引用类型实现Comparable接口并重写compareTo()方法,或者使用Comparator比较器进行排序。
public static void sort(Object[] arr, int fromIndex, int toIndex):对引用类型数组的指定范围进行升序排序,包括fromIndex,但不包括toIndex。
以下是对整型数组进行排序的示例:
int[] arr = {5, 2, 9, 1, 3};
Arrays.sort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
// 输出结果:1 2 3 5 9
以下是对引用类型数组进行排序的示例:
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int compareTo(Person person) {
return this.age - person.age;
}
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
Person[] arr = {new Person("Alice", 20), new Person("Bob", 25), new Person("Charlie", 18)};
Arrays.sort(arr);
for (Person p : arr) {
System.out.println(p);
}
// 输出结果:
// Person [name=Charlie, age=18]
// Person [name=Alice, age=20]
// Person [name=Bob, age=25]
这里的Person类实现了Comparable接口,并重写了compareTo()方法,根据年龄进行排序。