I just did a little more testing on TreeSet. Here is what I got.
The output is:
Are they equal: false
Do they have the same hashcode: false
Is a equals to b: false
Is b in the TreeSet: true
How could this be happening? a and b have are not equal, and they have different hashCode. why is b in the TreeSet after I added a only? It seems to me that the contains() method only looks at compareTo method, and return true if compareTo returns 0.
in the above if I change the compareTo method and return -1 (it is bad, used just for demonstration purpose). then s.contains(b) in the last line of main method will return false.
Thanks in advance.
[ edited to break long line and to remove the evil tab character -ds ]
[ April 27, 2004: Message edited by: Dirk Schreckmann ]