在Java中,對數組進行排序可以使用Arrays.sort()
方法。這個方法對基本數據類型數組和對象數組都有效。下面是兩種情況的詳細說明:
首先,需要導入java.util.Arrays
包。然后,使用Arrays.sort()
方法對數組進行排序。這個方法會按照升序對數組元素進行排序。
示例:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {34, 12, 89, 5, 23};
Arrays.sort(numbers);
System.out.println("升序排序后的數組:");
for (int number : numbers) {
System.out.print(number + " ");
}
}
}
輸出:
升序排序后的數組:
5 12 23 34 89
如果要對對象數組進行排序,需要在對象類中實現Comparable
接口,并重寫compareTo()
方法。然后,在使用Arrays.sort()
方法時,需要提供一個Comparator
對象來指定排序規則。
示例:
import java.util.Arrays;
import java.util.Comparator;
class Person implements Comparable<Person> {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person other) {
return this.age - other.age; // 按年齡升序排序
}
}
public class Main {
public static void main(String[] args) {
Person[] persons = {
new Person("張三", 25),
new Person("李四", 30),
new Person("王五", 20)
};
Arrays.sort(persons);
System.out.println("按年齡升序排序后的數組:");
for (Person person : persons) {
System.out.println(person.name + " - " + person.age + "歲");
}
}
}
輸出:
按年齡升序排序后的數組:
王五 - 20歲
張三 - 25歲
李四 - 30歲