Arrays.sort 降序排序实现 Comparator
时间: 2023-10-14 10:13:00 浏览: 44
要实现降序排序,可以使用`Comparator`接口的`compare`方法来定义比较规则。具体实现如下:
```java
Arrays.sort(array, new Comparator<Integer>() {
public int compare(Integer a, Integer b) {
return b - a;
}
});
```
上面的代码中,`array`是需要排序的数组,`Integer`是数组元素的类型。`compare`方法中,当`b - a`为正数时,表示`b`应该排在`a`前面,因此可以实现降序排序。
相关问题
Arrays.sort 降序
要对数组进行降序排序,可以使用Arrays类中的sort方法结合Comparator接口。
下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Integer[] arr = {5, 2, 9, 1, 6};
// 使用Comparator.reverseOrder()创建降序比较器
Arrays.sort(arr, Comparator.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
```
输出结果为:[9, 6, 5, 2, 1]。
在上述代码中,我们创建了一个Integer类型的数组,并使用Arrays.sort方法对数组进行排序。通过传递Comparator.reverseOrder()作为第二个参数,我们创建了一个降序比较器,因此数组会按照降序排序。最后,我们使用Arrays.toString方法将排序后的数组输出。
希望能够帮助到你!如果有任何疑问,请随时提问。
java中的arrays.sort降序
在Java中,Arrays.sort()函数默认是升序排序。如果你想要实现降序排序,你可以重载比较器,自定义比较规则。你可以使用Arrays.sort()函数的重载版本,并传入一个Comparator对象作为参数。这个Comparator对象将定义你自己的比较规则。在比较器的compare()方法中,你可以通过返回o2 - o1来实现降序排序。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Comparator;
public class HelloWorld {
public static void main(String[] args) {
Integer[] arr = {1, 4, 3, 6, 7, 9};
Arrays.sort(arr, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
System.out.println(Arrays.toString(arr));
}
}
```
在这个示例中,我们使用了Arrays.sort()函数的重载版本,并传入了一个匿名的Comparator对象。在这个匿名的Comparator对象中,我们重写了compare()方法,通过返回o2 - o1来实现降序排序。最后,我们打印排序后的数组。