Java 数组排序降序?

2022-08-31 04:52:03

有没有简单的方法可以按降序对数组进行排序,就像它们在 Arrays 类中按升序排序一样?

还是我必须停止懒惰并自己做这件事:[


答案 1

您可以使用它对所有类型的对象进行排序

sort(T[] a, Comparator<? super T> c) 

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

Arrays.sort()不能直接用于按降序对基元数组进行排序。如果尝试通过传递 由 定义的反向比较器来调用该方法,则会引发错误Arrays.sort()Collections.reverseOrder()

没有找到适合排序的方法(int[],比较器)

这将适用于“对象数组”(如整数数组),但不适用于基元数组(如int数组)。

按降序对基元数组进行排序的唯一方法是,首先按升序对数组进行排序,然后将数组反转到位。对于二维基元数组也是如此。


答案 2

对于列表

Collections.sort(list, Collections.reverseOrder());

对于数组

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