This interface should be implemented by all classes that wish to define a
natural order of their instances.
{@link java.util.Collections#sort} and {@code java.util.Arrays#sort} can then
be used to automatically sort lists of classes that implement this interface.
The order rule must be both transitive (if {@code x.compareTo(y) < 0} and
{@code y.compareTo(z) < 0}, then {@code x.compareTo(z) < 0} must hold) and
invertible (the sign of the result of x.compareTo(y) must be equal to the
negation of the sign of the result of y.compareTo(x) for all combinations of
x and y).
In addition, it is recommended (but not required) that if and only if the
result of x.compareTo(y) is zero, then the result of x.equals(y) should be
{@code true}.
|