Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

HashSet allowing duplicates; please explain

 
Joe May
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


if you see the above snippet.. i am modifying the object within a set and making it equal to another element in the set. After this modification, set s1 has duplicate elements. When i now try to add both the elements of set s1 into set s2, addition of second element in set s2 fails. It returns false. But no exception happens while modifying set s1. Can some one please explain this?
 
Ralph Cook
Ranch Hand
Posts: 479
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
From the javadoc for java.util.Set:

Note: Great care must be exercised if mutable objects are used as set elements. The behavior of a set is not specified if the value of an object is changed in a manner that affects equals comparisons while the object is an element in the set. A special case of this prohibition is that it is not permissible for a set to contain itself as an element.

rc
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic