首页  >  文章  >  Java  >  如何按降序对 Java 数组进行排序?

如何按降序对 Java 数组进行排序?

Linda Hamilton
Linda Hamilton原创
2024-11-02 00:10:31907浏览

How to Sort a Java Array in Descending Order?

Java 数组按降序排序

Arrays 类中存在一个数组排序实用程序,用于按升序对数组进行排序。但是,没有直接的方法可以按降序对数组进行排序。

使用比较器的解决方案

要按降序对对象数组进行排序,请使用以下命令code:

<code class="java">sort(T[] a, Comparator<? super T> c)</code>
<code class="java">Arrays.sort(a, Collections.reverseOrder());</code>

原始数组的解决方案

对于int[]这样的原始数组,上面的方法不能直接使用。相反,请按照以下步骤操作:

  1. 按升序对数组进行排序:

    <code class="java">Arrays.sort(a);</code>
  2. 就地反转已排序的数组:

    <code class="java">reverseArray(a);
    
    private static void reverseArray(int[] arr) {
      for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
     int temp = arr[i];
     arr[i] = arr[j];
     arr[j] = temp;
      }
    }</code>

示例

<code class="java">public static void main(String[] args) {
  int[] arr = {5, 3, 1, 2, 4};

  // Sort in descending order
  reverseArray(arr);

  // Print the sorted array
  for (int num : arr) {
    System.out.println(num); // 5, 4, 3, 2, 1
  }
}</code>

以上是如何按降序对 Java 数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn