Comparable và Comparator cả hai đều là các giao diện và có thể được sử dụng để sắp xếp các phần tử của collection.
Có nhiều sự khác nhau giữa Comparable và Comparator được đưa ra dưới đây.
Comparable | Comparator |
---|---|
1) Bạn phải implements giao tiếp Comparable cho lớp đối tượng cần được so sánh. | Bạn KHÔNG phải implements giao tiếp Comparator cho lớp đối tượng cần được so sánh. |
2) Comparable cung cấp phương thức compareTo() để sắp xếp các phần tử. | Comparator cung cấp phương thức compare() để sắp xếp các phần tử. |
3) Comparable thuộc về java.lang package. | Comparator thuộc về java.util package. |
4) Chúng ta có thể sắp xếp các phần tử của kiểu Comparable bởi phương thức Collections.sort(List) . | Chúng ta có thể sắp xếp các phần tử của kiểu Comparator bởi phương thức Collections.sort(List,Comparator). |