Adds the specified element to this set if it is not already present.
More formally, adds the specified element {@code e} to this set if
the set contains no element {@code e2} such that
<tt>(e==null ? e2==null : e.equals(e2))</tt>.
If this set already contains the element, the call leaves the set
unchanged and returns {@code false}.
@param e element to be added to this set
@return {@code true} if this set did not already contain the specified
element
@throws ClassCastException if the specified object cannot be compared
with the elements currently in this set
@throws NullPointerException if the specified element is null
and this set uses natural ordering, or its comparator
does not permit null elements
Adds the specified element to this set if it is not already present. More formally, adds the specified element {@code e} to this set if the set contains no element {@code e2} such that <tt>(e==null ? e2==null : e.equals(e2))</tt>. If this set already contains the element, the call leaves the set unchanged and returns {@code false}.
@param e element to be added to this set @return {@code true} if this set did not already contain the specified element @throws ClassCastException if the specified object cannot be compared with the elements currently in this set @throws NullPointerException if the specified element is null and this set uses natural ordering, or its comparator does not permit null elements