如何用Arrays.sort()方法对整形数组进行降序排序
时间: 2024-12-23 19:22:58 浏览: 11
在Java中,如果你想使用`Arrays.sort()`方法对整型数组进行降序排序,你需要自定义一个比较器,因为`Arrays.sort()`默认是升序排列。你可以创建一个实现了`Comparator<Integer>`接口的类,然后提供一个方法来返回一个负值、零或正值,表示两个元素之间的相对顺序。
下面是一个例子:
```java
import java.util.Arrays;
import java.util.Comparator;
class DescendingSortComparator implements Comparator<Integer> {
@Override
public int compare(Integer a, Integer b) {
return b - a; // 返回b大于a的差值,即降序排列
}
}
public class Main {
public static void main(String[] args) {
Integer[] array = {5, 2, 8, 1, 9};
// 首先复制原始数组,因为sort()会改变原数组
Integer[] sortedArray = Arrays.copyOf(array, array.length);
// 使用自定义比较器进行降序排序
Arrays.sort(sortedArray, new DescendingSortComparator());
System.out.println(Arrays.toString(sortedArray)); // 输出:[9, 8, 5, 2, 1]
阅读全文