是否有任何简单的方法可以按降序对数组进行排序,就像它们在 Arrays class 中如何按升序排序一样? ?
或者我必须停止懒惰并自己做这件事:[
最佳答案
您可以使用它对所有类型的对象进行排序
sort(T[] a, Comparator<? super T> c)
Arrays.sort(a, Collections.reverseOrder());
Arrays.sort()
不能直接用于按降序对原始数组进行排序。如果您尝试通过传递 Collections.reverseOrder()
定义的反向比较器来调用 Arrays.sort()
方法,则会抛出错误
no suitable method found for sort(int[],comparator)
这适用于“对象数组”,例如整数数组,但不适用于原始数组,例如 int 数组。
按降序对原始数组进行排序的唯一方法是,首先按升序对数组进行排序,然后将数组反转到位。对于二维原始数组也是如此。
关于Java数组降序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694751/