other than having compareTo() and Compare() methods whats the actual difference between Comparable and Comparator interface? i think both ar doing the same thing..
They are. However, sometimes you want to use a different kind of ordering, and ignore the compareTo method. Or the objects you want to sort are not Comparable and you can't make them Comparable. If either is the case, you have to use a Comparator.
Comparator is widely used when you need multiple sortings as sorting on one field for one requirement and sorting on another field for different requirement.
See this link: Custom sorting, on the fly as per requirement