Comparator 和 Comparable
- 相同點
- 都是接口
- 都存在於Collections的排序方法sort()中
- public static <T extends Comparable<? super T>>void sort(List list)
- void sort(List list, Comparator<? super T> c)
- 不同點
- Comparable是內部比較器
- T 如果是自己寫的類,則一定要實現接口Comparable 即int compareTo(T o)
- Comparator是外部比較器
- 不會調用list的compareTo方法,而調用 Comparator的compareTo(T o1,To2)方法
- Comparable是內部比較器