问题
是否有任何简单的方法按降序对数组进行排序,就像它们在Arrays class中按升序排序一样?
或者我必须停止懒惰并自己这样做:[
#1 热门回答(259 赞)
你可以使用它来排序所有类型的对象
sort(T[] a, Comparator<? super T> c)
Arrays.sort(a, Collections.reverseOrder());
Arrays.sort()
不能直接用于按降序对基本数组进行排序。如果你试图通过传递由4333755808定义的反向比较器调用Arrays.sort()
方法,它将抛出错误
找不到合适的排序方法(int [],比较器)
这将适用于Integer数组,但不适用于int数组。
按降序对基本数组进行排序的唯一方法是,首先按升序对数组进行排序,然后将数组反转到位。对于二维原始数组也是如此。
#2 热门回答(85 赞)
你可以用这个:
944471236Collections.reverseOrder()
使用逆自然顺序返回aComparator
。你可以使用Collections.reverseOrder(myComparator)
获得自己的比较器的反转版本。
#3 热门回答(76 赞)
列表
Collections.sort(list ,Collections.reverseOrder());
对于一个数组
Arrays.sort(array, Collections.reverseOrder());