T
- The object that is maintained in the queue.public final class DefaultPriorityQueue<T extends PriorityQueueNode> extends java.util.AbstractQueue<T> implements PriorityQueue<T>
PriorityQueueNode
for the purpose of maintaining the index in the priority queue.Modifier and Type | Class and Description |
---|---|
private class |
DefaultPriorityQueue.PriorityQueueIterator |
Modifier and Type | Field and Description |
---|---|
private java.util.Comparator<T> |
comparator |
private static PriorityQueueNode[] |
EMPTY_ARRAY |
private T[] |
queue |
private int |
size |
Constructor and Description |
---|
DefaultPriorityQueue(java.util.Comparator<T> comparator,
int initialSize) |
Modifier and Type | Method and Description |
---|---|
private void |
bubbleDown(int k,
T node) |
private void |
bubbleUp(int k,
T node) |
void |
clear() |
boolean |
contains(java.lang.Object o) |
private boolean |
contains(PriorityQueueNode node,
int i) |
boolean |
containsTyped(T node)
Same as
Collection.contains(Object) but typed using generics. |
boolean |
isEmpty() |
java.util.Iterator<T> |
iterator()
This iterator does not return elements in any particular order.
|
boolean |
offer(T e) |
T |
peek() |
T |
poll() |
void |
priorityChanged(T node)
Notify the queue that the priority for
node has changed. |
boolean |
remove(java.lang.Object o) |
boolean |
removeTyped(T node)
Same as
Collection.remove(Object) but typed using generics. |
int |
size() |
java.lang.Object[] |
toArray() |
<X> X[] |
toArray(X[] a) |
containsAll, removeAll, retainAll, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
private static final PriorityQueueNode[] EMPTY_ARRAY
private final java.util.Comparator<T extends PriorityQueueNode> comparator
private T extends PriorityQueueNode[] queue
private int size
public DefaultPriorityQueue(java.util.Comparator<T> comparator, int initialSize)
public int size()
size
in interface java.util.Collection<T extends PriorityQueueNode>
size
in class java.util.AbstractCollection<T extends PriorityQueueNode>
public boolean isEmpty()
isEmpty
in interface java.util.Collection<T extends PriorityQueueNode>
isEmpty
in class java.util.AbstractCollection<T extends PriorityQueueNode>
public boolean contains(java.lang.Object o)
contains
in interface java.util.Collection<T extends PriorityQueueNode>
contains
in class java.util.AbstractCollection<T extends PriorityQueueNode>
public boolean containsTyped(T node)
PriorityQueue
Collection.contains(Object)
but typed using generics.containsTyped
in interface PriorityQueue<T extends PriorityQueueNode>
public void clear()
clear
in interface java.util.Collection<T extends PriorityQueueNode>
clear
in class java.util.AbstractQueue<T extends PriorityQueueNode>
public boolean offer(T e)
offer
in interface java.util.Queue<T extends PriorityQueueNode>
public T poll()
poll
in interface java.util.Queue<T extends PriorityQueueNode>
public T peek()
peek
in interface java.util.Queue<T extends PriorityQueueNode>
public boolean remove(java.lang.Object o)
remove
in interface java.util.Collection<T extends PriorityQueueNode>
remove
in class java.util.AbstractCollection<T extends PriorityQueueNode>
public boolean removeTyped(T node)
PriorityQueue
Collection.remove(Object)
but typed using generics.removeTyped
in interface PriorityQueue<T extends PriorityQueueNode>
public void priorityChanged(T node)
PriorityQueue
node
has changed. The queue will adjust to ensure the priority
queue properties are maintained.priorityChanged
in interface PriorityQueue<T extends PriorityQueueNode>
node
- An object which is in this queue and the priority may have changed.public java.lang.Object[] toArray()
toArray
in interface java.util.Collection<T extends PriorityQueueNode>
toArray
in class java.util.AbstractCollection<T extends PriorityQueueNode>
public <X> X[] toArray(X[] a)
toArray
in interface java.util.Collection<T extends PriorityQueueNode>
toArray
in class java.util.AbstractCollection<T extends PriorityQueueNode>
public java.util.Iterator<T> iterator()
iterator
in interface java.lang.Iterable<T extends PriorityQueueNode>
iterator
in interface java.util.Collection<T extends PriorityQueueNode>
iterator
in class java.util.AbstractCollection<T extends PriorityQueueNode>
private boolean contains(PriorityQueueNode node, int i)
private void bubbleDown(int k, T node)
private void bubbleUp(int k, T node)