加载中...
The Wayback Machine - https://sup1a9wrlpyh5li9ro.vcoronado.top/web/20090218034257/http://developer.android.com:80/reference/java/util/PriorityQueue.html
public class

PriorityQueue

extends AbstractQueue<E>
implements Serializable
java.lang.Object
   ↳ java.util.AbstractCollection<E>
     ↳ java.util.AbstractQueue<E>
       ↳ java.util.PriorityQueue<E>

Class Overview

PriorityQueue holds elements on a priority heap, which orders elements according to the comparator specified at construction or their natural order. If the queue uses natural order, any element that is not comparable is not permitted to insert to the queue. The least element of the specified ordering is stored at the head of the queue and the greatest element is stored at the tail of the queue. PriorityQueue is not synchronized. If multiple threads will access it concurrently, use the PriorityBlockingQueue.

Summary

Public Constructors
PriorityQueue()
Constructs a priority queue with the capacity of 11 and natural ordering.
PriorityQueue(int initialCapacity)
Constructs a priority queue with specified capacity and natural ordering.
PriorityQueue(int initialCapacity, Comparator<? super E> comparator)
Constructs a priority queue with specified capacity and comparator.
PriorityQueue(Collection<? extends E> c)
Constructs a priority queue that contains the elements of a collection.
PriorityQueue(PriorityQueue<? extends E> c)
Constructs a priority queue that contains the elements of another priority queue.
PriorityQueue(SortedSet<? extends E> c)
Constructs a priority queue that contains the elements of a sorted set.
Public Methods
boolean add(E o)
Adds the specified object to the priority queue.
void clear()
Removes all the elements of the priority queue.
Comparator<? super E> comparator()
Gets the comparator of the priority queue.
Iterator<E> iterator()
Gets the iterator of the priority queue, which will not return elements in any specified ordering.
boolean offer(E o)
Inserts the element to the priority queue.
E peek()
Gets but not removes the head of the queue.
E poll()
Gets and removes the head of the queue.
boolean remove(Object o)
Removes the specified object of the priority queue.
int size()
Gets the size of the priority queue.
[Expand]
Inherited Methods
From class java.util.AbstractQueue
From class java.util.AbstractCollection
From class java.lang.Object
From interface java.lang.Iterable
From interface java.util.Collection
From interface java.util.Queue

Public Constructors

public PriorityQueue ()

Constructs a priority queue with the capacity of 11 and natural ordering.

public PriorityQueue (int initialCapacity)

Constructs a priority queue with specified capacity and natural ordering.

Parameters
initialCapacity the specified capacity.
Throws
IllegalArgumentException if the initialCapacity is less than 1

public PriorityQueue (int initialCapacity, Comparator<? super E> comparator)

Constructs a priority queue with specified capacity and comparator.

Parameters
initialCapacity the specified capacity.
comparator the specified comparator. If it is null, the natural ordering will be used.
Throws
IllegalArgumentException if the initialCapacity is less than 1

public PriorityQueue (Collection<? extends E> c)

Constructs a priority queue that contains the elements of a collection. The constructed priority queue has the initial capacity of 110% the collection. And the priority queue uses natural ordering to order its elements.

Parameters
c the collection whose elements will be added to the priority queue to be constructed.
Throws
ClassCastException if any of the elements in the collection is not comparable.
if any of the elements in the collection is null.

public PriorityQueue (PriorityQueue<? extends E> c)

Constructs a priority queue that contains the elements of another priority queue. The constructed priority queue has the initial capacity of 110% the latter one. And the two priority queue has the same comparator.

Parameters
c the priority queue whose elements will be added to the priority queue to be constructed.

public PriorityQueue (SortedSet<? extends E> c)

Constructs a priority queue that contains the elements of a sorted set. The constructed priority queue has the initial capacity of 110% the sorted set. And the priority queue has the same comparator of the sorted set.

Parameters
c the sorted set whose elements will be added to the priority queue to be constructed.

Public Methods

public boolean add (E o)

Adds the specified object to the priority queue.

Parameters
o the object to be added.
Returns
  • true.
Throws
ClassCastException if the element cannot be compared with the elements in the priority queue using the ordering of the priority queue.
if the element is null.

public void clear ()

Removes all the elements of the priority queue.

public Comparator<? super E> comparator ()

Gets the comparator of the priority queue.

Returns
  • the comparator of the priority queue. Null if the natural ordering is used.

public Iterator<E> iterator ()

Gets the iterator of the priority queue, which will not return elements in any specified ordering.

Returns
  • the iterator of the priority queue.

public boolean offer (E o)

Inserts the element to the priority queue.

Returns
  • true
Throws
ClassCastException if the element cannot be compared with the elements in the priority queue using the ordering of the priority queue.
if the element is null.

public E peek ()

Gets but not removes the head of the queue.

Returns
  • the head of the queue. Null if the queue is empty.

public E poll ()

Gets and removes the head of the queue.

Returns
  • the head of the queue. Null if the queue is empty.

public boolean remove (Object o)

Removes the specified object of the priority queue.

Parameters
o the object to be removed.
Returns
  • true if the object is in the priority queue, false if the object is not in the priority queue.

public int size ()

Gets the size of the priority queue. If the size of the queue is greater than the Integer.MAX, then it returns Integer.MAX.

Returns
  • the size of the priority queue.