Comparable and Comparator both are interfaces and can be used to sort collection elements.
There are many differences between Comparable and Comparator interfaces that are mentioned as follows:
Comparable in Java | Comparator in Java |
Comparable interface is used to sort the objects with natural ordering. | Comparator in Java is used to sort attributes of different objects. |
Comparable interface compares “this” reference with the object specified. | Comparator in Java compares two different class objects provided. |
Comparable is present in java.lang package.
|
A Comparator is present in the java.util package. |
Comparable affects the original class, i.e., the actual class is modified. | Comparator doesn’t affect the original class |
Comparable provides compareTo() method to sort elements. | Comparator provides compare() method, equals() method to sort elements. |
This question is one of the most frequently asked questions in interviews.