equals() method absolutely controls the determination of equivalence?
equals method always control the equivalence between two objects idenpedent of what the hashcode do, but remember a map use an int ( hashCode in this case)
to index their elements because of performance reasons..so a map needs a way to identify each object.. and the a hashcode is the solution, so if you do not overwrite your hashCode JVM will give a random and unique hascode for each object..
and so if you have two equals() object you probably would like to use the same one with 2 references right? if you do, you will follow the contract and overwrite the hashCode.
[ August 22, 2008: Message edited by: willy kocher ]