java.lang.Object java.util.AbstractCollection java.util.AbstractQueue
E
- the type of elements held in this collection
This class provides skeletal implementations of some Queue
operations. The implementations in this class are appropriate when
the base implementation does not allow null
elements. Methods add
, remove
, and
element
are based on offer
, poll
, and peek
, respectively but throw
exceptions instead of indicating failure via false or
null returns.
A Queue implementation that extends this class must
minimally define a method Queue.offer(E)
which does not permit
insertion of null elements, along with methods Queue.peek()
, Queue.poll()
, Collection.size()
, and a
Collection.iterator()
supporting Iterator.remove()
. Typically, additional methods will be overridden
as well. If these requirements cannot be met, consider instead
subclassing AbstractCollection
.
Constructor Summary | |
---|---|
protected |
AbstractQueue()
Constructor for use by subclasses. |
Method Summary | |
---|---|
boolean |
add(E o)
Adds the specified element to this queue. |
boolean |
addAll(Collection<? extends E> c)
Adds all of the elements in the specified collection to this queue. |
void |
clear()
Removes all of the elements from this collection. |
E |
element()
Retrieves, but does not remove, the head of this queue. |
E |
remove()
Retrieves and removes the head of this queue. |
Methods inherited from class java.util.AbstractCollection |
---|
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Queue |
---|
offer, peek, poll |
Methods inherited from interface java.util.Collection |
---|
contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray |
Constructor Detail |
---|
protected AbstractQueue()
Method Detail |
---|
public boolean add(E o)
add
in interface Collection
add
in class AbstractCollection
o
- the element
NullPointerException
- if the specified element is null
IllegalStateException
- if element cannot be addedpublic E remove()
remove
in interface Queue
NoSuchElementException
- if this queue is empty.public E element()
element
in interface Queue
NoSuchElementException
- if this queue is empty.public void clear()
This implementation repeatedly invokes poll
until it
returns null.
clear
in interface Collection
clear
in class AbstractCollection
public boolean addAll(Collection<? extends E> c)
This implementation iterates over the specified collection, and adds each element returned by the iterator to this collection, in turn. A runtime exception encountered while trying to add an element (including, in particular, a null element) may result in only some of the elements having been successfully added when the associated exception is thrown.
addAll
in interface Collection
addAll
in class AbstractCollection
c
- collection whose elements are to be added to this collection.
NullPointerException
- if the specified collection or
any of its elements are null.
IllegalArgumentException
- if c is this queue.add(Object)