Java / Object, Class and Package
Java equals() vs. compareTo() contract.
It is not strictly required, however the contract is compareTo should return 0 if equals returns true. TreeSet uses compareTo for ordering, ArrayList for sorting, so it is better to override compareTo as well.
More Related questions...