Java-0015-集合排序Comparable接口与Comparator接口

2016.7.26

Comparable
一个实现了Comparable接口的对象的实例可以被用于和相同对象的不同实例做比较。
它本身需要实现java.lang.Comparable接口。
Comparator
一个实现了Comarator接口的对象能够对比不同的对象。
它不能用于同一个类的不同实例的对比,但是可以用于其他类的实例作比较,必须实现java.util.Compartor。

以我的理解来看
Comparable接口
是一个直接在实例类里实现的接口,实现后就能支持Collections.sort()、TreeSet和TreeMap的排序了,否则不能作为参数输入。
大体的意思就是在实例类里就定义了实例对象的排序方法。

Comparator接口
是一个在实例类外实现的接口,实现后也能支持Collections.sort()、TreeSet和TreeMap的排序。
它可以在Collections.sort()、TreeSet()和TreeMap()中以匿名内部类的方式实现排序方法。
若它的泛型实例类已经实现了Comparable接口,那也是执行Comparator里的方法而忽略Comparable里的方法。

你可能感兴趣的:(Java-0015-集合排序Comparable接口与Comparator接口)