美文网首页
Collections.sort()

Collections.sort()

作者: 小名源治 | 来源:发表于2022-09-18 10:52 被阅读0次

    今天的leetcode每日一题遇到了需要用这个方法排序,好久没用都忘了,记录一下。
    Collections排序接口分为两种,一种是实现过它的,另外一种是没有实现过的。

    第一种:实现过Collection的接口

    例如Arraylist(),看下方的源码我们可以知道ArrayList实现了List接口,而list接口实现了Collection,相当于Arraylist()实现了Collection;

    image.png
    image.png
    那么list就能通过 Collections.sort(list)进行排序,而且还可以通过重写Collection中的compare()方法自定义排序顺序
    List<Integer> list = new ArrayList<>();
    list.add(2);
    list.add(1);
    list.add(3);
    Collections.sort(list);//默认是升序排列 
    System.out.println(list); //  1 2 3
    
    //重写compare方法
    Collections.sort(list,new Comparator<Integer>() {
    /**
    *升序排列是 o1 - o2
    *降序排列则反之
    **/
                    @Override
                    public int compare(Integer o1, Integer o2) {
                        return o2 - o1;
                    }
                });
    System.out.println(list); //  3 2 1
    

    第二种:没有实现过Collection接口

    没有实现过Collection接口的东西需要怎么排序呢,我们可以新建一个比较器,这个比较器只需要实现Comparator接口即可。
    详情请看这里

    --下次有空再补上

    相关文章

      网友评论

          本文标题:Collections.sort()

          本文链接:https://www.haomeiwen.com/subject/kwqportx.html