java数组sort从大到小
时间: 2024-08-27 09:02:08 浏览: 53
在Java中,如果你想要对数组进行降序排序(即从大到小),你可以使用`Arrays.sort()`方法配合自定义比较器(Comparator)。`Arrays.sort()`默认使用自然顺序进行排序,如果想按照特定规则排序,比如降序,你需要创建一个实现了`Comparator<T>`接口的匿名内部类,并在其中返回负数、零或正数来表示元素之间的大小关系。
这里是一个简单的例子:
```java
import java.util.Arrays;
import java.util.Comparator;
class MyComparable {
int value;
// ... 构造函数和其他方法
@Override
public int compareTo(MyComparable o) {
return o.value - this.value; // 返回值越大,表示当前元素越小,即降序排列
}
}
public class Main {
public static void main(String[] args) {
MyComparable[] array = new MyComparable[]{new MyComparable(5), new MyComparable(2), new MyComparable(8)};
Arrays.sort(array, Collections.reverseOrder()); // 使用Collections.reverseOrder()得到降序的Comparator
for (MyComparable element : array) {
System.out.println(element.value);
}
}
}
```
在这个示例中,`Collections.reverseOrder()`返回的是一个降序的比较器,然后我们将其作为参数传递给`Arrays.sort()`。