Arrays.sort
时间: 2023-11-11 13:09:19 浏览: 87
Arrays.sort 是 Java 中用于对数组进行排序的方法。它可以对任意类型的数组进行排序,包括基本数据类型和对象类型。对于对象类型,需要实现 Comparable 接口或者传入一个 Comparator 对象来进行比较排序。
Arrays.sort 方法有多个重载形式,最常用的是对数组进行升序排序的方法:
```
public static void sort(int[] arr) // 对int类型数组进行排序
public static <T extends Comparable<? super T>> void sort(T[] a) // 对实现了Comparable接口的对象数组进行排序
public static <T> void sort(T[] a, Comparator<? super T> c) // 对任意类型的对象数组进行排序,需要传入一个Comparator对象进行比较排序
```
示例代码如下:
```
int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
```
```
String[] arr = {"banana", "apple", "orange", "pear"};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [apple, banana, orange, pear]
```
```
List<Student> students = new ArrayList<>();
students.add(new Student("Tom", 20));
students.add(new Student("Jerry", 18));
students.add(new Student("Mike", 22));
students.add(new Student("Lucy", 19));
students.add(new Student("Bob", 21));
Comparator<Student> comparator = new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
return s1.getAge() - s2.getAge(); // 按照年龄升序排序
}
};
Collections.sort(students, comparator);
System.out.println(students);
```
注意,对于基本数据类型数组的排序,是按照升序进行排序。对于对象类型数组的排序,默认是按照对象的自然顺序进行排序。如果需要按照其他方式进行排序,则需要传入 Comparator 对象来进行比较排序。
阅读全文