public class CharHeapPriorityQueue extends Object implements CharPriorityQueue, Serializable
Instances of this class represent a priority queue using a heap. The heap is enlarged as needed, but
it is never shrunk. Use the trim() method to reduce its size, if necessary.
| Modifier and Type | Field and Description |
|---|---|
protected CharComparator |
c
The type-specific comparator used in this queue.
|
protected char[] |
heap
The heap array.
|
protected int |
size
The number of elements in this queue.
|
| Constructor and Description |
|---|
CharHeapPriorityQueue()
Creates a new empty queue using the natural order.
|
CharHeapPriorityQueue(char[] a)
Wraps a given array in a queue using the natural order.
|
CharHeapPriorityQueue(char[] a,
CharComparator c)
Wraps a given array in a queue using a given comparator.
|
CharHeapPriorityQueue(char[] a,
int size)
Wraps a given array in a queue using the natural order.
|
CharHeapPriorityQueue(char[] a,
int size,
CharComparator c)
Wraps a given array in a queue using a given comparator.
|
CharHeapPriorityQueue(CharCollection collection)
Creates a queue using the elements in a type-specific collection using the natural order.
|
CharHeapPriorityQueue(CharCollection collection,
CharComparator c)
Creates a queue using the elements in a type-specific collection using a given comparator.
|
CharHeapPriorityQueue(CharComparator c)
Creates a new empty queue with a given comparator.
|
CharHeapPriorityQueue(Collection<? extends Character> collection)
Creates a queue using the elements in a collection using the natural order.
|
CharHeapPriorityQueue(Collection<? extends Character> collection,
CharComparator c)
Creates a queue using the elements in a collection using a given comparator.
|
CharHeapPriorityQueue(int capacity)
Creates a new empty queue with a given capacity and using the natural order.
|
CharHeapPriorityQueue(int capacity,
CharComparator c)
Creates a new empty queue with a given capacity and comparator.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changed()
Notifies the queue that the first element has changed (optional operation).
|
void |
clear()
Removes all elements from this queue.
|
CharComparator |
comparator()
Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
|
char |
dequeueChar()
Dequeues the first element from the queue.
|
void |
enqueue(char x)
Enqueues a new element.
|
char |
firstChar()
Returns the first element of the queue.
|
int |
size()
Returns the number of elements in this queue.
|
void |
trim()
Trims the underlying heap array so that it has exactly
size() elements. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdequeue, enqueue, first, last, lastCharisEmptyprotected transient char[] heap
protected int size
protected CharComparator c
public CharHeapPriorityQueue(int capacity,
CharComparator c)
capacity - the initial capacity of this queue.c - the comparator used in this queue, or null for the natural order.public CharHeapPriorityQueue(int capacity)
capacity - the initial capacity of this queue.public CharHeapPriorityQueue(CharComparator c)
c - the comparator used in this queue, or null for the natural order.public CharHeapPriorityQueue()
public CharHeapPriorityQueue(char[] a,
int size,
CharComparator c)
The queue returned by this method will be backed by the given array.
The first size element of the array will be rearranged so to form a heap (this is
more efficient than enqueing the elements of a one by one).
a - an array.size - the number of elements to be included in the queue.c - the comparator used in this queue, or null for the natural order.public CharHeapPriorityQueue(char[] a,
CharComparator c)
The queue returned by this method will be backed by the given array.
The elements of the array will be rearranged so to form a heap (this is
more efficient than enqueing the elements of a one by one).
a - an array.c - the comparator used in this queue, or null for the natural order.public CharHeapPriorityQueue(char[] a,
int size)
The queue returned by this method will be backed by the given array.
The first size element of the array will be rearranged so to form a heap (this is
more efficient than enqueing the elements of a one by one).
a - an array.size - the number of elements to be included in the queue.public CharHeapPriorityQueue(char[] a)
The queue returned by this method will be backed by the given array.
The elements of the array will be rearranged so to form a heap (this is
more efficient than enqueing the elements of a one by one).
a - an array.public CharHeapPriorityQueue(CharCollection collection, CharComparator c)
This constructor is more efficient than enqueing the elements of collection one by one.
collection - a collection; its elements will be used to initialize the queue.c - the comparator used in this queue, or null for the natural order.public CharHeapPriorityQueue(CharCollection collection)
This constructor is
more efficient than enqueing the elements of collection one by one.
collection - a collection; its elements will be used to initialize the queue.public CharHeapPriorityQueue(Collection<? extends Character> collection, CharComparator c)
This constructor is more efficient than enqueing the elements of collection one by one.
collection - a collection; its elements will be used to initialize the queue.c - the comparator used in this queue, or null for the natural order.public CharHeapPriorityQueue(Collection<? extends Character> collection)
This constructor is
more efficient than enqueing the elements of collection one by one.
collection - a collection; its elements will be used to initialize the queue.public void enqueue(char x)
CharPriorityQueueenqueue in interface CharPriorityQueuex - the element to enqueue.PriorityQueue.enqueue(Object)public char dequeueChar()
CharPriorityQueuedequeueChar in interface CharPriorityQueueCharPriorityQueue.dequeue()public char firstChar()
CharPriorityQueuefirstChar in interface CharPriorityQueueCharPriorityQueue.first()public void changed()
PriorityQueueThis default implementation just throws an UnsupportedOperationException.
changed in interface PriorityQueue<Character>public int size()
PriorityQueuesize in interface PriorityQueue<Character>public void clear()
PriorityQueueclear in interface PriorityQueue<Character>public void trim()
size() elements.public CharComparator comparator()
CharPriorityQueueNote that this specification strengthens the one given in PriorityQueue.comparator().
comparator in interface CharPriorityQueuecomparator in interface PriorityQueue<Character>PriorityQueue.comparator()Copyright © 2020. All rights reserved.