1.Comparable : (1)位于java.lang 包下 (2)实现的原理基于红黑二叉树 (3)包含一个比较方法:compareTo(T t) 参数:T 泛型 –字符串:根据字典顺序比较 如果等于0则相等 –自定义类型:需要实现Comparable 重写 compareTo()方法 ,自定义排序规则
2.Comparator 接口 (1)Comparator接口也是一个排序比较器,位于java.util包下 (2)含有一个比较的方法compare(T t1 , T t2) (3)如果一个类实现这个接口,一定要重写compare方法,但不一定会实现equals()方法
3.Comparable 和 Comparator接口的区别 (1)排序规则实现的方法不同 (2)Comparable 是一个通用的接口,可以通过它实现自己特定的比较 而Comparator接口可以看成 是一种算法的实现,在需要容器集合比较功能的时候来指定比较器,也可以将他看作一种设计模式 (将算法和数据分离)