在Java中,可以使用`Arrays.sort()`方法对数组进行排序。以下是一些基本的使用方法:
对基本数据类型数组排序
import java.util.Arrays;
public class SortExample {
public static void main(String[] args) {
int[] numbers = {5, 3, 8, 1, 2};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 3, 5, 8]
}
}
对对象数组排序
使用`Comparable`接口
import java.util.Arrays;
class Student implements Comparable
{ private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Student other) {
return this.age - other.age; // 升序排序
}
@Override
public String toString() {
return "Student{age=" + age + ", name='" + name + "'}";
}
}
public class SortExample {
public static void main(String[] args) {
Student[] students = {
new Student(25, "Alice"),
new Student(20, "Bob"),
new Student(22, "Charlie")
};
Arrays.sort(students);
System.out.println(Arrays.toString(students));
}
}
使用`Comparator`接口
import java.util.Arrays;
import java.util.Comparator;
class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Student{age=" + age + ", name='" + name + "'}";
}
}
public class SortExample {
public static void main(String[] args) {
Student[] students = {
new Student(25, "Alice"),
new Student(20, "Bob"),
new Student(22, "Charlie")
};
Arrays.sort(students, new Comparator
() { @Override
public int compare(Student s1, Student s2) {
return s2.age - s1.age; // 降序排序
}
});
System.out.println(Arrays.toString(students));
}
}
对集合排序
对`List`排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortExample {
public static void main(String[] args) {
List
numbers = new ArrayList<>(); numbers.add(999);
numbers.add(123);
numbers.add(456);
numbers.add(66);
numbers.add(9);
Collections.sort(numbers); // 升序排序
System.out.println(numbers);
// 降序排序
Collections.sort(numbers, Collections.reverseOrder());
System.out.println(numbers);
}
}
对`Map`和`Set`排序