| |
|
| java.util.concurrent.PriorityBlockingQueue
PriorityBlockingQueue | public class PriorityBlockingQueue extends AbstractQueue implements BlockingQueue<E>,java.io.Serializable(Code) | | An unbounded
that uses
the same ordering rules as class
PriorityQueue and supplies
blocking retrieval operations. While this queue is logically
unbounded, attempted additions may fail due to resource exhaustion
(causing OutOfMemoryError). This class does not permit
null elements. A priority queue relying on natural
ordering also does not permit insertion of non-comparable objects
(doing so results in ClassCastException).
This class implements all of the optional methods
of the
Collection and
Iterator interfaces.
The Iterator provided in method
PriorityBlockingQueue.iterator() is
not guaranteed to traverse the elements of the
PriorityBlockingQueue in any particular order. If you need ordered
traversal, consider using Arrays.sort(pq.toArray()).
This class is a member of the
Java Collections Framework.
since: 1.5 author: Doug Lea< Parameters: E - > the type of elements held in this collection |
Constructor Summary | |
public | PriorityBlockingQueue() Creates a PriorityBlockingQueue with the default initial
capacity
(11) that orders its elements according to their natural
ordering (using Comparable). | public | PriorityBlockingQueue(int initialCapacity) Creates a PriorityBlockingQueue with the specified initial
capacity
that orders its elements according to their natural ordering
(using Comparable). | public | PriorityBlockingQueue(int initialCapacity, Comparator<? super E> comparator) Creates a PriorityBlockingQueue with the specified initial
capacity
that orders its elements according to the specified comparator. | public | PriorityBlockingQueue(Collection<? extends E> c) Creates a PriorityBlockingQueue containing the elements
in the specified collection. |
Method Summary | |
public boolean | add(E o) Adds the specified element to this queue. | public void | clear() Atomically removes all of the elements from this delay queue. | public Comparator | comparator() Returns the comparator used to order this collection, or null
if this collection is sorted according to its elements natural ordering
(using Comparable). | public boolean | contains(Object o) | public int | drainTo(Collection<? super E> c) | public int | drainTo(Collection<? super E> c, int maxElements) | public Iterator<E> | iterator() Returns an iterator over the elements in this queue. | public boolean | offer(E o) Inserts the specified element into this priority queue. | public boolean | offer(E o, long timeout, TimeUnit unit) Inserts the specified element into this priority queue. | public E | peek() | public E | poll() | public E | poll(long timeout, TimeUnit unit) | public void | put(E o) Adds the specified element to this priority queue. | public int | remainingCapacity() Always returns Integer.MAX_VALUE because
a PriorityBlockingQueue is not capacity constrained. | public boolean | remove(Object o) | public int | size() | public E | take() | public Object[] | toArray() | public T[] | toArray(T[] a) | public String | toString() |
PriorityBlockingQueue | public PriorityBlockingQueue()(Code) | | Creates a PriorityBlockingQueue with the default initial
capacity
(11) that orders its elements according to their natural
ordering (using Comparable).
|
PriorityBlockingQueue | public PriorityBlockingQueue(int initialCapacity)(Code) | | Creates a PriorityBlockingQueue with the specified initial
capacity
that orders its elements according to their natural ordering
(using Comparable).
Parameters: initialCapacity - the initial capacity for this priority queue. throws: IllegalArgumentException - if initialCapacity is lessthan 1 |
PriorityBlockingQueue | public PriorityBlockingQueue(int initialCapacity, Comparator<? super E> comparator)(Code) | | Creates a PriorityBlockingQueue with the specified initial
capacity
that orders its elements according to the specified comparator.
Parameters: initialCapacity - the initial capacity for this priority queue. Parameters: comparator - the comparator used to order this priority queue.If null then the order depends on the elements' naturalordering. throws: IllegalArgumentException - if initialCapacity is lessthan 1 |
PriorityBlockingQueue | public PriorityBlockingQueue(Collection<? extends E> c)(Code) | | Creates a PriorityBlockingQueue containing the elements
in the specified collection. The priority queue has an initial
capacity of 110% of the size of the specified collection. If
the specified collection is a
SortedSet or a
PriorityQueue , this priority queue will be sorted according to
the same comparator, or according to its elements' natural
order if the collection is sorted according to its elements'
natural order. Otherwise, this priority queue is ordered
according to its elements' natural order.
Parameters: c - the collection whose elements are to be placedinto this priority queue. throws: ClassCastException - if elements of the specified collectioncannot be compared to one another according to the priorityqueue's ordering. throws: NullPointerException - if c or any element within itis null |
add | public boolean add(E o)(Code) | | Adds the specified element to this queue.
Parameters: o - the element to add true (as per the general contract ofCollection.add). throws: NullPointerException - if the specified element is null. throws: ClassCastException - if the specified element cannot be comparedwith elements currently in the priority queue accordingto the priority queue's ordering. |
clear | public void clear()(Code) | | Atomically removes all of the elements from this delay queue.
The queue will be empty after this call returns.
|
comparator | public Comparator comparator()(Code) | | Returns the comparator used to order this collection, or null
if this collection is sorted according to its elements natural ordering
(using Comparable).
the comparator used to order this collection, or nullif this collection is sorted according to its elements natural ordering. |
iterator | public Iterator<E> iterator()(Code) | | Returns an iterator over the elements in this queue. The
iterator does not return the elements in any particular order.
The returned iterator is a thread-safe "fast-fail" iterator
that will throw
java.util.ConcurrentModificationException upon detected
interference.
an iterator over the elements in this queue. |
offer | public boolean offer(E o)(Code) | | Inserts the specified element into this priority queue.
Parameters: o - the element to add true throws: ClassCastException - if the specified element cannot be comparedwith elements currently in the priority queue accordingto the priority queue's ordering. throws: NullPointerException - if the specified element is null. |
offer | public boolean offer(E o, long timeout, TimeUnit unit)(Code) | | Inserts the specified element into this priority queue. As the queue is
unbounded this method will never block.
Parameters: o - the element to add Parameters: timeout - This parameter is ignored as the method never blocks Parameters: unit - This parameter is ignored as the method never blocks true throws: ClassCastException - if the element cannot be comparedwith elements currently in the priority queue accordingto the priority queue's ordering. throws: NullPointerException - if the specified element is null. |
put | public void put(E o)(Code) | | Adds the specified element to this priority queue. As the queue is
unbounded this method will never block.
Parameters: o - the element to add throws: ClassCastException - if the element cannot be comparedwith elements currently in the priority queue accordingto the priority queue's ordering. throws: NullPointerException - if the specified element is null. |
remainingCapacity | public int remainingCapacity()(Code) | | Always returns Integer.MAX_VALUE because
a PriorityBlockingQueue is not capacity constrained.
Integer.MAX_VALUE |
toArray | public T[] toArray(T[] a)(Code) | | |
|
|
|