public interface Comparator<T>
Comparator
is used to compare two objects to determine their ordering with
respect to each other. On a given Collection
, a Comparator
can be used to
obtain a sorted Collection
which is totally ordered. For a Comparator
to be consistent with equals, its {code #compare(Object, Object)}
method has to return zero for each pair of elements (a,b) where a.equals(b)
holds true. It is recommended that a Comparator
implements
Serializable
.int compare(T lhs, T rhs)
(lhs, rhs)
should form an equivalence relation.
This means that
compare(a,a)
returns zero for all a
compare(a,b)
must be the opposite of the sign of compare(b,a)
for all pairs of (a,b)compare(a,b) > 0
and compare(b,c) > 0
it must
follow compare(a,c) > 0
for all possible combinations of (a,b,c)
lhs
- an Object
.rhs
- a second Object
to compare with lhs
.lhs
is less than rhs
, 0 if they are
equal, and > 0 if lhs
is greater than rhs
.ClassCastException
- if objects are not of the correct type.boolean equals(Object object)
Comparator
with the specified Object
and indicates whether they
are equal. In order to be equal, object
must represent the same object
as this instance using a class-specific comparison.
A Comparator
never needs to override this method, but may choose so for
performance reasons.
equals
in class Object
object
- the Object
to compare with this comparator.true
if specified Object
is the same as this
Object
, and false
otherwise.Object.hashCode()
,
Object.equals(java.lang.Object)