美文网首页
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