it.unimi.dsi.fastutil
Interface PriorityQueue<K>

All Known Subinterfaces:
BytePriorityQueue, CharPriorityQueue, DoublePriorityQueue, FloatPriorityQueue, IntPriorityQueue, LongPriorityQueue, ShortPriorityQueue
All Known Implementing Classes:
AbstractBytePriorityQueue, AbstractCharPriorityQueue, AbstractDoublePriorityQueue, AbstractFloatPriorityQueue, AbstractIntPriorityQueue, AbstractLongPriorityQueue, AbstractPriorityQueue, AbstractShortPriorityQueue, ByteArrayFIFOQueue, ByteArrayPriorityQueue, ByteHeapPriorityQueue, BytePriorityQueues.SynchronizedPriorityQueue, CharArrayFIFOQueue, CharArrayPriorityQueue, CharHeapPriorityQueue, CharPriorityQueues.SynchronizedPriorityQueue, DoubleArrayFIFOQueue, DoubleArrayPriorityQueue, DoubleHeapPriorityQueue, DoublePriorityQueues.SynchronizedPriorityQueue, FloatArrayFIFOQueue, FloatArrayPriorityQueue, FloatHeapPriorityQueue, FloatPriorityQueues.SynchronizedPriorityQueue, IntArrayFIFOQueue, IntArrayPriorityQueue, IntHeapPriorityQueue, IntPriorityQueues.SynchronizedPriorityQueue, LongArrayFIFOQueue, LongArrayPriorityQueue, LongHeapPriorityQueue, LongPriorityQueues.SynchronizedPriorityQueue, ObjectArrayFIFOQueue, ObjectArrayPriorityQueue, ObjectHeapPriorityQueue, PriorityQueues.EmptyPriorityQueue, PriorityQueues.SynchronizedPriorityQueue, ShortArrayFIFOQueue, ShortArrayPriorityQueue, ShortHeapPriorityQueue, ShortPriorityQueues.SynchronizedPriorityQueue

public interface PriorityQueue<K>

A priority queue.

A priority queue provides a way to enqueue elements, and to dequeue them in some specified order. Elements that are smaller in the specified order are dequeued first. It is also possible to get the first element, that is, the element that would be dequeued next.

Additionally, the queue may provide a method to peek at element that would be dequeued last.

The relative order of the elements enqueued should not change during queue operations. Nonetheless, some implementations may give the caller a way to notify the queue that the first element has changed its relative position in the order.


Method Summary
 void changed()
          Notifies the queue that the first element has changed (optional operation).
 void clear()
          Removes all elements from this queue.
 Comparator<? super K> comparator()
          Returns the comparator associated with this queue, or null if it uses its elements' natural ordering.
 K dequeue()
          Dequeues the first element from the queue.
 void enqueue(K x)
          Enqueues a new element.
 K first()
          Returns the first element of the queue.
 boolean isEmpty()
          Checks whether the queue is empty.
 K last()
          Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).
 int size()
          Returns the number of elements in this queue.
 

Method Detail

enqueue

void enqueue(K x)
Enqueues a new element.

Parameters:
x - the element to enqueue..

dequeue

K dequeue()
Dequeues the first element from the queue.

Returns:
the dequeued element.
Throws:
NoSuchElementException - if the queue is empty.

isEmpty

boolean isEmpty()
Checks whether the queue is empty.

Returns:
true if the queue is empty.

size

int size()
Returns the number of elements in this queue.

Returns:
the number of elements in this queue.

clear

void clear()
Removes all elements from this queue.


first

K first()
Returns the first element of the queue.

Returns:
the first element.
Throws:
NoSuchElementException - if the queue is empty.

last

K last()
Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).

Returns:
the last element.
Throws:
NoSuchElementException - if the queue is empty.

changed

void changed()
Notifies the queue that the first element has changed (optional operation).


comparator

Comparator<? super K> comparator()
Returns the comparator associated with this queue, or null if it uses its elements' natural ordering.

Returns:
the comparator associated with this sorted set, or null if it uses its elements' natural ordering.


Copyright © 2011. All Rights Reserved.