有什么简单的方法可以按降序对数组进行排序,就像它们在 Arrays 类 中按升序排序一样?
还是我必须停止懒惰并自己做这个:[
原文由 AFK 发布,翻译遵循 CC BY-SA 4.0 许可协议
列表
Collections.sort(list, Collections.reverseOrder());
对于一个数组
Arrays.sort(array, Collections.reverseOrder());
原文由 Ornithopter 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
您可以使用它对所有类型的对象进行排序
Arrays.sort()
不能直接用于对原始数组进行降序排序。如果您尝试通过传递由Collections.reverseOrder()
定义的反向比较器来调用Arrays.sort()
方法,它将抛出错误这适用于“对象数组”,例如整数数组,但不适用于原始数组,例如 int 数组。
按降序对原始数组进行排序的唯一方法是,首先按升序对数组进行排序,然后将数组反转到位。对于二维原始数组也是如此。