public abstract class AbstractCollection<E>
- Object
- AbstractCollection
ImplementsCollection<E>, Iterable<E>
Known subtypesAbstractList, AbstractQueue, AbstractSet, ArrayDeque
AbstractCollection is an abstract implementation of the Collection interface. A subclass must implement the abstract methods iterator() and size() to create an immutable collection. To create a
modifiable collection it’s necessary to override the add() method that
currently throws an UnsupportedOperationException.Constructors
protected AbstractCollection() | Constructs a new instance of this AbstractCollection. |
Methods
public boolean add(E object) | Attempts to add object to the contents of this Collection (optional). |
public boolean addAll(Collection<? extends E> collection) | Attempts to add all of the objects contained in collection to the contents of this Collection (optional). |
public void clear() | Removes all elements from this Collection, leaving it empty (optional). |
public boolean contains(Object object) | Tests whether this Collection contains the specified object. |
public boolean containsAll(Collection<?> collection) | Tests whether this Collection contains all objects contained in the specified Collection. |
public 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 boolean remove(Object object) | Removes one instance of the specified object from this Collection if one is contained (optional). |
public boolean removeAll(Collection<?> collection) | Removes all occurrences in this Collection of each object in the specified Collection (optional). |
public 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 String toString() | Returns the string representation of this Collection. |
public Object[] toArray() | Returns a new array containing all elements contained in this ArrayList. |
public <T> T[] toArray(T[] contents) | Returns an array containing all elements contained in this ArrayList. |
Inherited methods
From Collection
Constructor details
AbstractCollection
protected AbstractCollection()Method details
add
public 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 boolean addAll(Collection<? extends E> collection)Attempts to add all of the objects contained in collection
to the contents of this Collection (optional). This implementation
iterates over the given Collection and calls add for each
element. If any of these calls return true, then true is
returned as result of this method call, false otherwise. If this
Collection does not support adding elements, an UnsupportedOperationException is thrown.
If the passed Collection is changed during the process of adding elements
to this Collection, the behavior depends on the behavior of the passed
Collection.
Parameters
collectionCollection<? extends E>- the collection of 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 void clear()Removes all elements from this Collection, leaving it empty (optional).
This implementation iterates over this Collection and calls the remove method on each element. If the iterator does not support removal
of elements, an UnsupportedOperationException is thrown.
Concrete implementations usually can clear a Collection more efficiently
and should therefore overwrite this method.
Throws
UnsupportedOperationException- it the iterator does not support removing elements from
this
Collection
contains
public boolean contains(Object object)Collection contains the specified object. This
implementation iterates over this Collection and tests, whether any
element is equal to the given object. If object != null then
object.equals(e) is called for each element e returned by
the iterator until the element is found. If object == null then
each element e returned by the iterator is compared with the test
e == null.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 boolean containsAll(Collection<?> collection)Collection contains all objects contained in the
specified Collection. This implementation iterates over the specified
Collection. If one element returned by the iterator is not contained in
this Collection, then false is returned; true otherwise.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.
isEmpty
public boolean isEmpty()Collection contains no elements. This implementation
tests, whether size returns 0.Returns
true if this Collection has no elements, false
otherwise.See also
iterator
public abstract Iterator<E> iterator()Returns an instance of 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 unless the instance of the
Collection has a defined order. In that case, the elements are returned in that order.
In this class this method is declared abstract and has to be implemented
by concrete Collection implementations.
Returns
Collection contents.remove
public boolean remove(Object object)Collection if one
is contained (optional). This implementation iterates over this
Collection and tests for each element e returned by the iterator,
whether e is equal to the given object. If object != null
then this test is performed using object.equals(e), otherwise
using object == null. If an element equal to the given object is
found, then the remove method is called on the iterator and
true is returned, false otherwise. If the iterator does
not support removing elements, an UnsupportedOperationException
is thrown.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 boolean removeAll(Collection<?> collection)Removes all occurrences in this 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.
This implementation iterates over this Collection and tests for each
element e returned by the iterator, whether it is contained in
the specified Collection. If this test is positive, then the remove method is called on the iterator. If the iterator does not
support removing elements, an UnsupportedOperationException is
thrown.
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 boolean retainAll(Collection<?> collection)Removes all objects from this 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.
This implementation iterates over this Collection and tests for each
element e returned by the iterator, whether it is contained in
the specified Collection. If this test is negative, then the remove method is called on the iterator. If the iterator does not
support removing elements, an UnsupportedOperationException is
thrown.
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()Returns a count of how many objects this Collection contains.
In this class this method is declared abstract and has to be implemented
by concrete Collection implementations.
Returns
Collection contains, or Integer.MAX_VALUE
if there are more than Integer.MAX_VALUE elements in this
Collection.toString
public String toString()Collection. The presentation
has a specific format. It is enclosed by square brackets ("[]"). Elements
are separated by ‘, ’ (comma and space).Returns
Collection.toArray
public Object[] toArray()ArrayList.Returns
ArrayListtoArray
public <T> T[] toArray(T[] contents)ArrayList. 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
ArrayList, the array element following the collection elements
is set to null.Parameters
contentsT[]- the array.
Returns
ArrayList.Throws
ArrayStoreException- when the type of an element in this
ArrayListcannot be stored in the type of the specified array.