下面分 int[] 数组List 集合 两种情况来讲,覆盖你在 Java 里最常见、也最“正统”的做法,并顺带点出一些底层和易踩坑点。


一、

int[]

数组如何排序

✅ 最常用(推荐)

int[] arr = {5, 2, 9, 1, 3};
Arrays.sort(arr);

🔁 降序排序(

int[]

的坑点)

int[] 不能直接传 Comparator,必须转换成包装类型:

int[] arr = {5, 2, 9, 1, 3};

Integer[] boxed = Arrays.stream(arr)
        .boxed()
        .toArray(Integer[]::new);

Arrays.sort(boxed, Collections.reverseOrder());

// 如需再转回 int[]
int[] result = Arrays.stream(boxed)
        .mapToInt(Integer::intValue)
        .toArray();

⚠️ 原因:Comparator 只能用于对象,int 是基本类型。