用java把int数组按照降序排列代码,用到sort和comparator
时间: 2024-02-20 08:00:06 浏览: 63
以下是使用 Java 中的 sort 和 Comparator 接口将 int 数组按照降序排列的代码示例:
```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
int[] arr = { 3, 5, 1, 4, 2 };
// 使用 Arrays.sort 函数,降序排列数组
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer a, Integer b) {
return b - a;
}
});
// 输出排序后的数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
输出结果为:5 4 3 2 1
相关问题
用java把double数组按照降序排列代码,用到sort和comparator
以下是使用 Java 中的 sort 和 Comparator 接口将 double 数组按照降序排列的代码示例:
```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
double[] arr = { 3.2, 5.7, 1.4, 4.1, 2.9 };
// 使用 Arrays.sort 函数,降序排列数组
Arrays.sort(arr, new Comparator<Double>() {
@Override
public int compare(Double a, Double b) {
return Double.compare(b, a);
}
});
// 输出排序后的数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
输出结果为:5.7 4.1 3.2 2.9 1.4
java数组降序排列sort
要Java数组进行降序排序,有几种方法可以实现。
第一种方法是使用Collections的reverseOrder()方法。首先,将数组转换为包装类类型(比如Integer),然后使用Arrays.sort()方法进行排序,并传入Collections.reverseOrder()作为参数。这样就可以实现降序排序。以下是示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Integer[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1};
Arrays.sort(arr, Collections.reverseOrder());
for (int i : arr) {
System.out.println(i);
}
}
}
```
第二种方法是使用Comparator接口,通过复写compare()方法来实现降序排序。首先,创建一个实现了Comparator接口的类,并在其中复写compare()方法,将比较的顺序反过来即可。然后,将该类的实例作为参数传递给Arrays.sort()方法。以下是示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Integer[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1};
Comparator<Integer> cmp = new CMP();
Arrays.sort(arr, cmp);
for (int i : arr) {
System.out.println(i);
}
}
}
class CMP implements Comparator<Integer> {
@Override
public int compare(Integer a, Integer b) {
return b - a;
}
}
```
以上是两种常用的方法来对Java数组进行降序排序。希望对你有所帮助![1]
阅读全文