java中利用比较器实现Integer数组逆向排序以及可能出现的问题
在运用Arrays.sort()方法进行排序时,默认是正向排序。但是通常我们需要逆向排序,此时需要借助比较器Comparator。
在比较器中我们定义比较方式如下:
//定义MyComparator类实现Comparator接口,
//Comparator中泛型不再使用基本数据类型int,而应该使用Integer
class MyComparator implements Comparator<Interger>{
@Override
public int compare(Integer o1, Integer o2) {
if(o1<o2) {
return 1;
}else if(o1>o2) {
return -1;
}else {
return 0;
}
}
}
再借助Arrays.sort(Integer[] a, Comparator<? super Integer> c)方法就可以实现数组的逆向排序,但是此处数组必须为Integer类型数组。
下面是测试排序的代码:
//定义Test类实现Integer数组逆向排序
public class Test {
public static void main(String[] args) {
Integer[] a={