一、核心概念与底层实现
Java 的排序方法遵循最佳实践,底层根据数据类型做了优化:
- 对
int、long等基本类型数组:使用双轴快速排序(Dual-Pivot QuickSort),效率更高(时间复杂度 O(n log n))。 - 对
String、自定义对象等引用类型:使用TimSort(归并排序 + 插入排序的混合算法),稳定且高效。
二、常用.sort 方法用法
1. Arrays.sort()(数组排序)
适用于所有数组类型(基本类型、引用类型),默认升序排列。
示例 1:基本类型数组排序(int 数组)
import java.util.Arrays;
public class SortDemo {
public static void main(String[] args) {
// 定义无序 int 数组
int[] nums = {5, 2, 9, 1, 5, 6};
// 核心:数组排序(原地排序,直接修改原数组)
Arrays.sort(nums);
// 输出结果:[1, 2, 5, 5, 6, 9]
System.out.println(Arrays.toString(nums));
}
}
示例 2:自定义对象数组排序(实现 Comparable)
如果要排序自定义对象,需让对象类实现 Comparable 接口,重写 compareTo 方法定义'自然排序规则'。
import java.util.Arrays;
// 自定义 User 类,实现 Comparable 接口
class User implements Comparable<User> {
private String name;
private int age;
public User(String name, int age) {
.name = name;
.age = age;
}
{
.age - o.age;
}
String {
+ name + + age + ;
}
}
{
{
User[] users = { (, ), (, ), (, )};
Arrays.sort(users);
System.out.println(Arrays.toString(users));
}
}


