• Java用sort实现对数组的降序排序


    在调用Arrays.sort()对数组进行排序时,默认是升序排序的,如果想让数组降序排序,有下面两种方法:

    1. 利用CollectionsreverseOrder
    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);
            }
        }
    }
    
    1. 利用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等)定义变量,而应该用对应的类

  • 相关阅读:
    2021 0309-1 准备工作
    课程总结
    第十四周课程总结&实验报告
    第十三周课程总结
    第十二周课程总结
    第十一周课程总结
    第十周课程总结
    2019春总结作业
    第十二周作业
    第十一周作业
  • 原文地址:https://www.cnblogs.com/Friends-A/p/11054953.html
Copyright © 2020-2023  润新知