public interface Set4D<E>
extends java.util.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(java.util.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(java.lang.Object o)
Returns true if the set contains the specified element.
|
boolean |
containsAll(java.util.Collection<?> c)
Returns true if this set contains all elements in the specified
collection.
|
boolean |
equals(java.lang.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.
|
java.util.Iterator<E> |
iterator()
Returns an iterator over the set.
|
boolean |
remove(java.lang.Object o)
Removes the specified element from this set (optional operation).
|
boolean |
removeAll(java.util.Collection<?> c)
Removes from this set all elements contained in the specified collection
(optional operation).
|
boolean |
retainAll(java.util.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.
|
java.lang.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 java.util.Collection<E>
o
- the object to addjava.lang.UnsupportedOperationException
- if this operation is not allowedjava.lang.ClassCastException
- if the class of o prevents it from being addedjava.lang.IllegalArgumentException
- if some aspect of o prevents it from
being addedjava.lang.NullPointerException
- if null is not permitted in this setboolean addAll(java.util.Collection<? extends E> c)
addAll
in interface java.util.Collection<E>
c
- the collection to addjava.lang.UnsupportedOperationException
- if this operation is not allowedjava.lang.ClassCastException
- if the class of an element prevents it from
being addedjava.lang.IllegalArgumentException
- if something about an element prevents
it from being addedjava.lang.NullPointerException
- if null is not permitted in this set, or
if the argument c is nulladd(Object)
void clear()
clear
in interface java.util.Collection<E>
java.lang.UnsupportedOperationException
- if this operation is not allowedboolean contains(java.lang.Object o)
o == null ? e == null : o.equals(e)
.contains
in interface java.util.Collection<E>
o
- the object to look forjava.lang.ClassCastException
- if the type of o is not a valid type
for this set.java.lang.NullPointerException
- if o is null and this set doesn't
support null values.boolean containsAll(java.util.Collection<?> c)
containsAll
in interface java.util.Collection<E>
c
- the collection to check membership injava.lang.NullPointerException
- if c is nulljava.lang.ClassCastException
- if the type of any element in c is not
a valid type for this set.java.lang.NullPointerException
- if some element of c is null and this
set doesn't support null values.contains(Object)
boolean equals(java.lang.Object o)
equals
in interface java.util.Collection<E>
equals
in class java.lang.Object
o
- the object to compare toint hashCode()
hashCode
in interface java.util.Collection<E>
hashCode
in class java.lang.Object
equals(Object)
boolean isEmpty()
isEmpty
in interface java.util.Collection<E>
java.util.Iterator<E> iterator()
boolean remove(java.lang.Object o)
o == null ? e == null : o.equals(e)
,
it is removed from the set.remove
in interface java.util.Collection<E>
o
- the object to removejava.lang.UnsupportedOperationException
- if this operation is not allowedjava.lang.ClassCastException
- if the type of o is not a valid type
for this set.java.lang.NullPointerException
- if o is null and this set doesn't allow
the removal of a null value.boolean removeAll(java.util.Collection<?> c)
removeAll
in interface java.util.Collection<E>
c
- the collection to remove from this setjava.lang.UnsupportedOperationException
- if this operation is not allowedjava.lang.NullPointerException
- if c is nulljava.lang.ClassCastException
- if the type of any element in c is not
a valid type for this set.java.lang.NullPointerException
- if some element of c is null and this
set doesn't support removing null values.remove(Object)
boolean retainAll(java.util.Collection<?> c)
retainAll
in interface java.util.Collection<E>
c
- the collection to keepjava.lang.UnsupportedOperationException
- if this operation is not allowedjava.lang.NullPointerException
- if c is nulljava.lang.ClassCastException
- if the type of any element in c is not
a valid type for this set.java.lang.NullPointerException
- if some element of c is null and this
set doesn't support retaining null values.remove(Object)
int size()
size
in interface java.util.Collection<E>
java.lang.Object[] toArray()
toArray
in interface java.util.Collection<E>
toArray(Object[])
<T> T[] toArray(T[] a)
toArray
in interface java.util.Collection<E>
a
- the array to determine the return type; if it is big enough
it is used and returnedjava.lang.ArrayStoreException
- if the runtime type of a is not a supertype
of all elements in the setjava.lang.NullPointerException
- if a is nulltoArray()