java.util
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.
Since: 1.2
See Also: Collection List SortedSet HashSet TreeSet LinkedHashSet AbstractSet singleton EMPTY_SET
UNKNOWN: updated to 1.4
Method Summary | |
---|---|
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. |
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.
Parameters: o the object to add
Returns: true if the object was not previously in the set
Throws: UnsupportedOperationException if this operation is not allowed ClassCastException if the class of o prevents it from being added IllegalArgumentException if some aspect of o prevents it from being added NullPointerException if null is not permitted in this set
Parameters: c the collection to add
Returns: true if the set changed as a result
Throws: UnsupportedOperationException if this operation is not allowed ClassCastException if the class of an element prevents it from being added IllegalArgumentException if something about an element prevents it from being added NullPointerException if null is not permitted in this set, or if the argument c is null
See Also: add
Throws: UnsupportedOperationException if this operation is not allowed
o == null ? e == null : o.equals(e)
.
Parameters: o the object to look for
Returns: true if it is found in the set
Throws: ClassCastException 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.
Parameters: c the collection to check membership in
Returns: true if all elements in this set are in c
Throws: NullPointerException if c is null ClassCastException 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.
See Also: contains
Parameters: o the object to compare to
Returns: true if it is an equal set
Returns: the sum of the hashcodes of all set elements
See Also: equals
Returns: true if the set is empty
Returns: a set iterator
o == null ? e == null : o.equals(e)
,
it is removed from the set.
Parameters: o the object to remove
Returns: true if the set changed (an object was removed)
Throws: UnsupportedOperationException if this operation is not allowed ClassCastException 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.
Parameters: c the collection to remove from this set
Returns: true if this set changed as a result
Throws: UnsupportedOperationException if this operation is not allowed NullPointerException if c is null ClassCastException 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.
See Also: remove
Parameters: c the collection to keep
Returns: true if this set was modified
Throws: UnsupportedOperationException if this operation is not allowed NullPointerException if c is null ClassCastException 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.
See Also: remove
Returns: the number of elements
Returns: an array of this set's elements
See Also: (Object[])
Parameters: a the array to determine the return type; if it is big enough it is used and returned
Returns: an array holding the elements of the set
Throws: ArrayStoreException if the runtime type of a is not a supertype of all elements in the set NullPointerException if a is null
See Also: toArray