在调用Arrays.sort()对数组进行排序时,默认是升序排序的,如果想让数组降序排序,有下面两种方法:
利用Collections的reverseOrder
import java.util.*; public class Main { public static void main(String[] args) { // 注意这里是Integer,不是int 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
import java.util.*; public class Main { public static void main(String[] args) { Integer[] arr={9,8,7,6,5,4,3,2,1}; Comparator 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 a-b<0?1:-1; return b-a; } }注意:如果需要改变默认的排列方式,不能使用基本类型(int,char等)定义变量,而应该用对应的类