public interface Collection<E>
ExtendsIterable<E>
Known subtypesComponentSelector, AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayDeque, ArrayList, Deque, HashSet, LinkedHashSet, LinkedList, List, NavigableSet, PriorityQueue, Queue, Set, SortedSet, Stack, TreeSet, Vector
Collection is the root of the collection hierarchy. It defines operations on
data collections and the behavior that they will have in all implementations
of Collections.
All direct or indirect implementations of Collection should implement at
least two constructors. One with no parameters which creates an empty
collection and one with a parameter of type Collection. This second
constructor can be used to create a collection of different type as the
initial collection but with the same elements. Implementations of Collection
cannot be forced to implement these two constructors but at least all
implementations under java.util do.
Methods that change the content of a collection throw an
UnsupportedOperationException if the underlying collection does not
support that operation, though it’s not mandatory to throw such an Exception
in cases where the requested operation would not change the collection. In
these cases it’s up to the implementation whether it throws an
UnsupportedOperationException or not.
Methods marked with (optional) can throw an
UnsupportedOperationException if the underlying collection doesn’t
support that method.
Methods
public abstract boolean add(E object) | Attempts to add object to the contents of this Collection (optional). |
public abstract boolean addAll(Collection<? extends E> collection) | Attempts to add all of the objects contained in Collection to the contents of this Collection (optional). |
public abstract void clear() | Removes all elements from this Collection, leaving it empty (optional). |
public abstract boolean contains(Object object) | Tests whether this Collection contains the specified object. |
public abstract boolean containsAll(Collection<?> collection) | Tests whether this Collection contains all objects contained in the specified Collection. |
public abstract boolean equals(Object object) | Compares the argument to the receiver, and returns true if they represent the same object using a class specific comparison. |
public abstract int hashCode() | Returns an integer hash code for the receiver. |
public abstract boolean isEmpty() | Returns if this Collection contains no elements. |
public abstract Iterator<E> iterator() | Returns an instance of Iterator that may be used to access the objects contained by this Collection. |
public abstract boolean remove(Object object) | Removes one instance of the specified object from this Collection if one is contained (optional). |
public abstract boolean removeAll(Collection<?> collection) | Removes all occurrences in this Collection of each object in the specified Collection (optional). |
public abstract boolean retainAll(Collection<?> collection) | Removes all objects from this Collection that are not also found in the Collection passed (optional). |
public abstract int size() | Returns a count of how many objects this Collection contains. |
public abstract Object[] toArray() | Returns a new array containing all elements contained in this Collection. |
public abstract <T> T[] toArray(T[] array) | Returns an array containing all elements contained in this Collection. |
public default boolean removeIf(Predicate<? super E> filter) | Removes all of the elements of this collection that satisfy the given predicate. |
Inherited methods
Method details
add
public abstract boolean add(E object)Attempts to add object to the contents of this
Collection (optional).
After this method finishes successfully it is guaranteed that the object is contained in the collection.
If the collection was modified it returns true, false if
no changes were made.
An implementation of Collection may narrow the set of accepted
objects, but it has to specify this in the documentation. If the object
to be added does not meet this restriction, then an
IllegalArgumentException is thrown.
If a collection does not yet contain an object that is to be added and adding the object fails, this method must throw an appropriate unchecked Exception. Returning false is not permitted in this case because it would violate the postcondition that the element will be part of the collection after this method finishes.
Parameters
objectE- the object to add.
Returns
true if this Collection is
modified, false otherwise.Throws
UnsupportedOperationException- if adding to this
Collectionis not supported. ClassCastException- if the class of the object is inappropriate for this collection.
IllegalArgumentException- if the object cannot be added to this
Collection. NullPointerException- if null elements cannot be added to the
Collection.
addAll
public abstract boolean addAll(Collection<? extends E> collection)Collection
to the contents of this Collection (optional). If the passed Collection
is changed during the process of adding elements to this Collection, the
behavior is not defined.Parameters
collectionCollection<? extends E>- the
Collectionof objects.
Returns
true if this Collection is modified, false
otherwise.Throws
UnsupportedOperationException- if adding to this
Collectionis not supported. ClassCastException- if the class of an object is inappropriate for this
Collection. IllegalArgumentException- if an object cannot be added to this
Collection. NullPointerException- if
collectionisnull, or if it containsnullelements and thisCollectiondoes not support such elements.
clear
public abstract void clear()Collection, leaving it empty (optional).Throws
UnsupportedOperationException- if removing from this
Collectionis not supported.
contains
public abstract boolean contains(Object object)Collection contains the specified object. Returns
true if and only if at least one element elem in this
Collection meets following requirement:
(object==null ? elem==null : object.equals(elem)).Parameters
objectObject- the object to search for.
Returns
true if object is an element of this Collection,
false otherwise.Throws
ClassCastException- if the object to look for isn’t of the correct type.
NullPointerException- if the object to look for is
nulland thisCollectiondoesn’t supportnullelements.
containsAll
public abstract boolean containsAll(Collection<?> collection)Collection contains all objects contained in the
specified Collection. If an element elem is contained several
times in the specified Collection, the method returns true even
if elem is contained only once in this Collection.Parameters
collectionCollection<?>- the collection of objects.
Returns
true if all objects in the specified Collection are
elements of this Collection, false otherwise.Throws
ClassCastException- if one or more elements of
collectionisn’t of the correct type. NullPointerException- if
collectioncontains at least onenullelement and thisCollectiondoesn’t supportnullelements.
equals
public abstract boolean equals(Object object)Parameters
objectObject- the object to compare with this object.
Returns
true if the object is the same as this object and
false if it is different from this object.See also
hashCode
public abstract int hashCode()Returns
See also
isEmpty
public abstract boolean isEmpty()Collection contains no elements.Returns
true if this Collection has no elements, false
otherwise.See also
iterator
public abstract Iterator<E> iterator()Iterator that may be used to access the
objects contained by this Collection. The order in which the elements are
returned by the iterator is not defined. Only if the instance of the
Collection has a defined order the elements are returned in that order.Returns
Collection contents.remove
public abstract boolean remove(Object object)Collection if one
is contained (optional). The element elem that is removed
complies with (object==null ? elem==null : object.equals(elem).Parameters
objectObject- the object to remove.
Returns
true if this Collection is modified, false
otherwise.Throws
UnsupportedOperationException- if removing from this
Collectionis not supported. ClassCastException- if the object passed is not of the correct type.
NullPointerException- if
objectisnulland thisCollectiondoesn’t supportnullelements.
removeAll
public abstract boolean removeAll(Collection<?> collection)Collection of each object in the
specified Collection (optional). After this method returns none of the
elements in the passed Collection can be found in this Collection
anymore.Parameters
collectionCollection<?>- the collection of objects to remove.
Returns
true if this Collection is modified, false
otherwise.Throws
UnsupportedOperationException- if removing from this
Collectionis not supported. ClassCastException- if one or more elements of
collectionisn’t of the correct type. NullPointerException- if
collectioncontains at least onenullelement and thisCollectiondoesn’t supportnullelements.
retainAll
public abstract boolean retainAll(Collection<?> collection)Collection that are not also found in the
Collection passed (optional). After this method returns this Collection
will only contain elements that also can be found in the Collection
passed to this method.Parameters
collectionCollection<?>- the collection of objects to retain.
Returns
true if this Collection is modified, false
otherwise.Throws
UnsupportedOperationException- if removing from this
Collectionis not supported. ClassCastException- if one or more elements of
collectionisn’t of the correct type. NullPointerException- if
collectioncontains at least onenullelement and thisCollectiondoesn’t supportnullelements.
size
public abstract int size()Collection contains.Returns
Collection contains, or Integer.MAX_VALUE
if there are more than Integer.MAX_VALUE elements in this
Collection.toArray
public abstract Object[] toArray()Returns a new array containing all elements contained in this Collection.
If the implementation has ordered elements it will return the element array in the same order as an iterator would return them.
The array returned does not reflect any changes of the Collection. A new
array is created even if the underlying data structure is already an
array.
Returns
Collection.toArray
public abstract <T> T[] toArray(T[] array)Returns an array containing all elements contained in this Collection. If
the specified array is large enough to hold the elements, the specified
array is used, otherwise an array of the same type is created. If the
specified array is used and is larger than this Collection, the array
element following the Collection elements is set to null.
If the implementation has ordered elements it will return the element array in the same order as an iterator would return them.
toArray(new Object[0]) behaves exactly the same way as
toArray() does.
Parameters
arrayT[]- the array.
Returns
Collection.Throws
ArrayStoreException- if the type of an element in this
Collectioncannot be stored in the type of the specified array.
removeIf
public default boolean removeIf(Predicate<? super E> filter)