Java数组降序排序?

新手上路,请多包涵

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

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

原文由 AFK 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 636
2 个回答

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

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

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

Arrays.sort() 不能直接用于对原始数组进行降序排序。如果您尝试通过传递由 Collections.reverseOrder() 定义的反向比较器来调用 Arrays.sort() 方法,它将抛出错误

没有找到适合 sort(int[],comarator) 的方法

这适用于“对象数组”,例如整数数组,但不适用于原始数组,例如 int 数组。

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

原文由 user173973 发布,翻译遵循 CC BY-SA 4.0 许可协议

列表

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

对于一个数组

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

原文由 Ornithopter 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题