集合排序

柔情痞子 提交于 2019-12-02 00:10:34

集合排序

使用List中的sort(Comparator c)方法实现。Comparator是比较器接口,从这里传入比较的方式。

  1. 实现接口Comparable
    重写CompareTo方法,在这个方法内部定义比较的条件。
    比如String类就是实现了这个接口。
    此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。而这个比较就是依赖于各种数据类型的CompareTo。
    这种方式不依赖比较器,所以调用sort方法的时候可以不写参数。

  2. 依赖比价器Comparator
    实现Comparator这个接口里面只有一个方法,是一个函数式接口只要实现compare一个方法就行了。所以你可以直接在类中实现也可以在sort方法中直接用lambda实现就好了。compare返回大于0是大于,等于0是相等,小于0是小于。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!