https://blog.csdn.net/u013256816/article/details/50899416
Comparable 是排序接口;若一个类实现了 Comparable 接口,就意味着 “该类支持排序”。方法:compareTo(T o)
而 Comparator 是比较器;我们若需要控制某个类的次序,可以建立一个 “该类的比较器” 来进行排序。方法:compare(T o1, T o2)
前者应该比较固定,和一个具体类相绑定,而后者比较灵活,它可以被用于各个需要比较功能的类使用。可以说前者属于 “静态绑定”,而后者可以 “动态绑定”。
我们不难发现:Comparable 相当于 “内部比较器”,而 Comparator 相当于 “外部比较器”。
compare(T o1, T o2): return o1 - o2 升序
compare(T o1, T o2): return o2 - o1 降序