public class IdentityHashSet<T>
extends java.lang.Object
implements java.util.Set<T>
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<T,T> |
map
The backing map.
|
Constructor and Description |
---|
IdentityHashSet()
Create a new identity hash set.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(T o)
Adds the specified element to this set if it is not already present
(optional operation).
|
boolean |
addAll(java.util.Collection<? extends T> c)
Adds all of the elements in the specified collection to this set if
they're not already present (optional operation).
|
void |
clear()
Removes all of the elements from this set (optional operation).
|
boolean |
contains(java.lang.Object o)
Returns
|
boolean |
containsAll(java.util.Collection<?> c)
Returns
|
boolean |
equals(java.lang.Object o)
Compares the specified object with this set for equality.
|
int |
hashCode()
Returns the hash code value for this set.
|
boolean |
isEmpty()
Returns
|
java.util.Iterator<T> |
iterator()
Returns an iterator over the elements in this set.
|
boolean |
remove(java.lang.Object o)
Removes the specified element from this set if it is present (optional
operation).
|
boolean |
removeAll(java.util.Collection<?> c)
Removes from this set all of its elements that are contained in the
specified collection (optional operation).
|
boolean |
retainAll(java.util.Collection<?> c)
Retains only the elements in this set that are contained in the
specified collection (optional operation).
|
int |
size()
Returns the number of elements in this set (its cardinality).
|
java.lang.Object[] |
toArray()
Returns an array containing all of the elements in this set.
|
<E> E[] |
toArray(E[] a)
Returns an array containing all of the elements in this set; the
runtime type of the returned array is that of the specified array.
|
java.lang.String |
toString()
Create a string representation.
|
public int size()
size
in interface java.util.Collection<T>
size
in interface java.util.Set<T>
public boolean isEmpty()
isEmpty
in interface java.util.Collection<T>
isEmpty
in interface java.util.Set<T>
public boolean contains(java.lang.Object o)
(o==null ? e==null :
o.equals(e))
.contains
in interface java.util.Collection<T>
contains
in interface java.util.Set<T>
o
- element whose presence in this set is to be tested.java.lang.ClassCastException
- if the type of the specified element
is incompatible with this set (optional).java.lang.NullPointerException
- if the specified element is null and this
set does not support null elements (optional).public java.util.Iterator<T> iterator()
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection<T>
toArray
in interface java.util.Set<T>
public <E> E[] toArray(E[] a)
toArray
in interface java.util.Collection<T>
toArray
in interface java.util.Set<T>
a
- the array into which the elements of this set are to
be stored, if it is big enough; otherwise, a new array of the
same runtime type is allocated for this purpose.java.lang.ArrayStoreException
- the runtime type of a is not a supertype
of the runtime type of every element in this set.java.lang.NullPointerException
- if the specified array is
public boolean add(T o)
o
, to this set if this set contains no element
e
such that (o==null ? e==null :
o.equals(e))
. If this set already contains the specified
element, the call leaves this set unchanged and returns
add
in interface java.util.Collection<T>
add
in interface java.util.Set<T>
o
- element to be added to this set.java.lang.UnsupportedOperationException
- if the
java.lang.ClassCastException
- if the class of the specified element
prevents it from being added to this set.java.lang.NullPointerException
- if the specified element is null and this
set does not support null elements.java.lang.IllegalArgumentException
- if some aspect of the specified element
prevents it from being added to this set.public boolean remove(java.lang.Object o)
e
such that
(o==null ? e==null : o.equals(e))
, if the set contains
such an element. Returns
remove
in interface java.util.Collection<T>
remove
in interface java.util.Set<T>
o
- object to be removed from this set, if present.java.lang.ClassCastException
- if the type of the specified element
is incompatible with this set (optional).java.lang.NullPointerException
- if the specified element is null and this
set does not support null elements (optional).java.lang.UnsupportedOperationException
- if the
public boolean containsAll(java.util.Collection<?> c)
containsAll
in interface java.util.Collection<T>
containsAll
in interface java.util.Set<T>
c
- collection to be checked for containment in this set.java.lang.ClassCastException
- if the types of one or more elements
in the specified collection are incompatible with this
set (optional).java.lang.NullPointerException
- if the specified collection contains one
or more null elements and this set does not support null
elements (optional).java.lang.NullPointerException
- if the specified collection is
contains(Object)
public boolean addAll(java.util.Collection<? extends T> c)
addAll
in interface java.util.Collection<T>
addAll
in interface java.util.Set<T>
c
- collection whose elements are to be added to this set.java.lang.UnsupportedOperationException
- if the
java.lang.ClassCastException
- if the class of some element of the
specified collection prevents it from being added to this
set.java.lang.NullPointerException
- if the specified collection contains one
or more null elements and this set does not support null
elements, or if the specified collection is
java.lang.IllegalArgumentException
- if some aspect of some element of the
specified collection prevents it from being added to this
set.add(Object)
public boolean retainAll(java.util.Collection<?> c)
retainAll
in interface java.util.Collection<T>
retainAll
in interface java.util.Set<T>
c
- collection that defines which elements this set will retain.java.lang.UnsupportedOperationException
- if the
java.lang.ClassCastException
- if the types of one or more elements in this
set are incompatible with the specified collection
(optional).java.lang.NullPointerException
- if this set contains a null element and
the specified collection does not support null elements
(optional).java.lang.NullPointerException
- if the specified collection is
remove(Object)
public boolean removeAll(java.util.Collection<?> c)
removeAll
in interface java.util.Collection<T>
removeAll
in interface java.util.Set<T>
c
- collection that defines which elements will be removed from
this set.java.lang.UnsupportedOperationException
- if the
java.lang.ClassCastException
- if the types of one or more elements in this
set are incompatible with the specified collection
(optional).java.lang.NullPointerException
- if this set contains a null element and
the specified collection does not support null elements
(optional).java.lang.NullPointerException
- if the specified collection is
remove(Object)
public void clear()
public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection<T>
equals
in interface java.util.Set<T>
equals
in class java.lang.Object
o
- Object to be compared for equality with this set.public int hashCode()
s1.hashCode()==s2.hashCode()
for any two sets
s1
and s2
, as required by the general
contract of the
hashCode
in interface java.util.Collection<T>
hashCode
in interface java.util.Set<T>
hashCode
in class java.lang.Object
Object.hashCode()
,
Object.equals(Object)
,
Set.equals(Object)
public java.lang.String toString()
toString
in class java.lang.Object