Java 中数组排序方法有三种:Arrays.sort()适用于基本类型和实现 Comparable 接口的对象类型;Comparator.comparing()适用于不实现 Comparable 接口的对象类型;Collection.sort()适用于通过 Collections 工具类包装的数组。
如何在 Java 中给数组排序
Java 中提供多种方法可对数组进行排序,具体方法取

1. Arrays.sort()
- 适用数据类型:基本类型(int、double、char 等)和对象类型(实现 Comparable 接口)
- 算法:快速排序(默认)或归并排序(当数组过大时)
-
语法:
Arrays.sort(array);
例如:
int[] numbers = {5, 2, 8, 3, 1};
Arrays.sort(numbers); // 排序数组
System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 3, 5, 8]2. Comparator.comparing()
- 适用数据类型:对象类型(不实现 Comparable 接口)
- 算法:自定义比较器
-
语法:
Arrays.sort(array, Comparator.comparing(field));
例如:
class Person {
private String name;
private int age;
// ...
}
Person[] people = {
new Person("Bob", 30),
new Person("Alice", 25),
new Person("John", 40)
};
Arrays.sort(people, Comparator.comparing(Person::getName)); // 按姓名排序
System.out.println(Arrays.toString(people)); // 输出:[Alice, Bob, John]3. Collection.sort()
- 适用数据类型:通过 Collections 工具类包装的数组
- 算法:自定义 Comparator 或使用自然排序(实现 Comparable 接口)
-
语法:
Collections.sort(list);
例如:
Listnumbers = Arrays.asList(5, 2, 8, 3, 1); Collections.sort(numbers); // 排序集合 System.out.println(numbers); // 输出:[1, 2, 3, 5, 8]








