Java
provides Comparable interface which should be implemented by any custom class
if we want to use Arrays or Collections sorting methods. Comparable interface
has compareTo(T obj) method which is used by sorting methods. We should
override this method in such a way that it returns a negative integer, zero, or
a positive integer if “this” object is less than, equal to, or greater than the
object passed as argument. But, in most real life scenarios, we want sorting
based on different parameters. For example, as a CEO, I would like to sort the
employees based on Salary, an HR would like to sort them based on the age. This
is the situation where we need to use
Comparator interface becauseComparable.compareTo(Object
o)method implementation can sort based on one field only and we
can’t chose the field on which we want to sort the Object.Comparator interface compare(Object o1, Object o2) method need to be implemented that takes two
Object argument, it should be implemented in such a way that it returns
negative int if first argument is less than the second one and returns zero if
they are equal and positive int if first argument is greater than second one.
No comments:
Post a Comment