将int数组从最高到最低排序

luk*_*b28 2 java arrays sorting

所以我刚刚了解Arrays.sort(arrayName);并将其应用于我的一个项目中,但我发现它从最低到最高.反正有没有相反的做法?(我认为我不需要发布有问题的代码,但如果需要,我会发布它).

Roh*_*ain 10

如果使用Integer[]而不是int[],则可以将Comparator第二个参数传递给sort方法.要强制反向排序,您可以使用以下Collections.reverseOrder()方法:

Arrays.sort(arr, Collections.reverseOrder());
Run Code Online (Sandbox Code Playgroud)


Ale*_* C. 5

如果你有一个int[]数组,你可以使用它排序Arrays.sort,然后反转它:

int [] tab2 = new int[]{1,5,0,-2};
Arrays.sort(tab2);
ArrayUtils.reverse(tab2);
System.out.print(Arrays.toString(tab2));
Run Code Online (Sandbox Code Playgroud)

输出 :

[5, 1, 0, -2]
Run Code Online (Sandbox Code Playgroud)

Code反向方法(来自org.apache.commons.lang.ArrayUtils.reverse(int[])):

public static void reverse(int[] array) {
        if (array == null) {
            return;
        }
        int i = 0;
        int j = array.length - 1;
        int tmp;
        while (j > i) {
            tmp = array[j];
            array[j] = array[i];
            array[i] = tmp;
            j--;
            i++;
        }
}
Run Code Online (Sandbox Code Playgroud)