public interface Set<E> extends Collection<E>
e1.equals(e2) returns false. There
are additional stipulations on add, equals
and hashCode, as well as the requirements that constructors
do not permit duplicate elements. The Set interface is incompatible with
List; you cannot implement both simultaneously.
Note: Be careful about using mutable objects in sets. In particular, if a mutable object changes to become equal to another set element, you have violated the contract. As a special case of this, a Set is not allowed to be an element of itself, without risking undefined behavior.
Collection,
List,
SortedSet,
HashSet,
TreeSet,
LinkedHashSet,
AbstractSet,
Collections.singleton(Object),
Collections.EMPTY_SET| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E o)
Adds the specified element to the set if it is not already present
(optional operation).
|
boolean |
addAll(Collection<? extends E> c)
Adds all of the elements of the given collection to this set (optional
operation).
|
void |
clear()
Removes all elements from this set (optional operation).
|
boolean |
contains(Object o)
Returns true if the set contains the specified element.
|
boolean |
containsAll(Collection<?> c)
Returns true if this set contains all elements in the specified
collection.
|
boolean |
equals(Object o)
Compares the specified object to this for equality.
|
int |
hashCode()
Returns the hash code for this set.
|
boolean |
isEmpty()
Returns true if the set contains no elements.
|
Iterator<E> |
iterator()
Returns an iterator over the set.
|
boolean |
remove(Object o)
Removes the specified element from this set (optional operation).
|
boolean |
removeAll(Collection<?> c)
Removes from this set all elements contained in the specified collection
(optional operation).
|
boolean |
retainAll(Collection<?> c)
Retains only the elements in this set that are also in the specified
collection (optional operation).
|
int |
size()
Returns the number of elements in the set.
|
Object[] |
toArray()
Returns an array containing the elements of this set.
|
<T> T[] |
toArray(T[] a)
Returns an array containing the elements of this set, of the same runtime
type of the argument.
|
boolean add(E o)
o == null ? e == null : o.equals(e). Sets need not permit
all values, and may document what exceptions will be thrown if
a value is not permitted.add in interface Collection<E>o - the object to addUnsupportedOperationException - if this operation is not allowedClassCastException - if the class of o prevents it from being addedIllegalArgumentException - if some aspect of o prevents it from
being addedNullPointerException - if null is not permitted in this setboolean addAll(Collection<? extends E> c)
addAll in interface Collection<E>c - the collection to addUnsupportedOperationException - if this operation is not allowedClassCastException - if the class of an element prevents it from
being addedIllegalArgumentException - if something about an element prevents
it from being addedNullPointerException - if null is not permitted in this set, or
if the argument c is nulladd(Object)void clear()
clear in interface Collection<E>UnsupportedOperationException - if this operation is not allowedboolean contains(Object o)
o == null ? e == null : o.equals(e).contains in interface Collection<E>o - the object to look forClassCastException - if the type of o is not a valid type
for this set.NullPointerException - if o is null and this set doesn't
support null values.boolean containsAll(Collection<?> c)
containsAll in interface Collection<E>c - the collection to check membership inNullPointerException - if c is nullClassCastException - if the type of any element in c is not
a valid type for this set.NullPointerException - if some element of c is null and this
set doesn't support null values.contains(Object)boolean equals(Object o)
equals in interface Collection<E>equals in class Objecto - the object to compare toint hashCode()
hashCode in interface Collection<E>hashCode in class Objectequals(Object)boolean isEmpty()
isEmpty in interface Collection<E>Iterator<E> iterator()
boolean remove(Object o)
o == null ? e == null : o.equals(e),
it is removed from the set.remove in interface Collection<E>o - the object to removeUnsupportedOperationException - if this operation is not allowedClassCastException - if the type of o is not a valid type
for this set.NullPointerException - if o is null and this set doesn't allow
the removal of a null value.boolean removeAll(Collection<?> c)
removeAll in interface Collection<E>c - the collection to remove from this setUnsupportedOperationException - if this operation is not allowedNullPointerException - if c is nullClassCastException - if the type of any element in c is not
a valid type for this set.NullPointerException - if some element of c is null and this
set doesn't support removing null values.remove(Object)boolean retainAll(Collection<?> c)
retainAll in interface Collection<E>c - the collection to keepUnsupportedOperationException - if this operation is not allowedNullPointerException - if c is nullClassCastException - if the type of any element in c is not
a valid type for this set.NullPointerException - if some element of c is null and this
set doesn't support retaining null values.remove(Object)int size()
size in interface Collection<E>Object[] toArray()
toArray in interface Collection<E>toArray(Object[])<T> T[] toArray(T[] a)
toArray in interface Collection<E>a - the array to determine the return type; if it is big enough
it is used and returnedArrayStoreException - if the runtime type of a is not a supertype
of all elements in the setNullPointerException - if a is nulltoArray()