java 如何降序排列
降序排列方法
在Java中实现降序排列可以通过多种方式完成,以下是几种常见的方法:
使用Collections.reverseOrder()
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Integer[] array = {5, 2, 9, 1, 5};
Arrays.sort(array, Collections.reverseOrder());
System.out.println(Arrays.toString(array));
}
}
适用于对象数组(如Integer[]),直接传入Collections.reverseOrder()作为比较器。
自定义比较器(Lambda表达式)

import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Integer[] array = {5, 2, 9, 1, 5};
Arrays.sort(array, (a, b) -> b - a); // 降序
System.out.println(Arrays.toString(array));
}
}
通过Lambda定义b - a实现降序逻辑,简洁直观。
对基本类型数组手动反转

import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {5, 2, 9, 1, 5};
Arrays.sort(array); // 先升序
// 手动反转数组
for (int i = 0; i < array.length / 2; i++) {
int temp = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = temp;
}
System.out.println(Arrays.toString(array));
}
}
适用于int[]等基本类型数组,先升序再反转。
使用Stream API
import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Integer[] array = {5, 2, 9, 1, 5};
array = Arrays.stream(array)
.sorted(Comparator.reverseOrder())
.toArray(Integer[]::new);
System.out.println(Arrays.toString(array));
}
}
通过Stream的sorted结合Comparator.reverseOrder()实现降序。
注意事项
- 基本类型数组(如
int[])需手动处理或转为包装类(如Integer[])。 - 自定义对象排序需实现
Comparable或传入Comparator。 - 并发场景下考虑使用线程安全的排序方法。






