Package io.netty.util.internal
Class DefaultPriorityQueue<T extends PriorityQueueNode>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<T>
-
- io.netty.util.internal.DefaultPriorityQueue<T>
-
- Type Parameters:
T- The object that is maintained in the queue.
- All Implemented Interfaces:
PriorityQueue<T>,java.lang.Iterable<T>,java.util.Collection<T>,java.util.Queue<T>
public final class DefaultPriorityQueue<T extends PriorityQueueNode> extends java.util.AbstractQueue<T> implements PriorityQueue<T>
A priority queue which uses natural ordering of elements. Elements are also required to be of typePriorityQueueNodefor the purpose of maintaining the index in the priority queue.
-
-
Constructor Summary
Constructors Constructor Description DefaultPriorityQueue(java.util.Comparator<T> comparator, int initialSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()voidclearIgnoringIndexes()Removes all of the elements from thisPriorityQueuewithout callingPriorityQueueNode.priorityQueueIndex(DefaultPriorityQueue)or explicitly removing references to them to allow them to be garbage collected.booleancontains(java.lang.Object o)booleancontainsTyped(T node)Same asCollection.contains(Object)but typed using generics.booleanisEmpty()java.util.Iterator<T>iterator()This iterator does not return elements in any particular order.booleanoffer(T e)Tpeek()Tpoll()voidpriorityChanged(T node)Notify the queue that the priority fornodehas changed.booleanremove(java.lang.Object o)booleanremoveTyped(T node)Same asCollection.remove(Object)but typed using generics.intsize()java.lang.Object[]toArray()<X> X[]toArray(X[] a)-
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
DefaultPriorityQueue
public DefaultPriorityQueue(java.util.Comparator<T> comparator, int initialSize)
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<T extends PriorityQueueNode>- Specified by:
sizein classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<T extends PriorityQueueNode>- Overrides:
isEmptyin classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
containsin interfacejava.util.Collection<T extends PriorityQueueNode>- Overrides:
containsin classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
containsTyped
public boolean containsTyped(T node)
Description copied from interface:PriorityQueueSame asCollection.contains(Object)but typed using generics.- Specified by:
containsTypedin interfacePriorityQueue<T extends PriorityQueueNode>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<T extends PriorityQueueNode>- Overrides:
clearin classjava.util.AbstractQueue<T extends PriorityQueueNode>
-
clearIgnoringIndexes
public void clearIgnoringIndexes()
Description copied from interface:PriorityQueueRemoves all of the elements from thisPriorityQueuewithout callingPriorityQueueNode.priorityQueueIndex(DefaultPriorityQueue)or explicitly removing references to them to allow them to be garbage collected. This should only be used when it is certain that the nodes will not be re-inserted into this or any otherPriorityQueueand it is known that thePriorityQueueitself will be garbage collected after this call.- Specified by:
clearIgnoringIndexesin interfacePriorityQueue<T extends PriorityQueueNode>
-
offer
public boolean offer(T e)
- Specified by:
offerin interfacejava.util.Queue<T extends PriorityQueueNode>
-
poll
public T poll()
- Specified by:
pollin interfacejava.util.Queue<T extends PriorityQueueNode>
-
peek
public T peek()
- Specified by:
peekin interfacejava.util.Queue<T extends PriorityQueueNode>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<T extends PriorityQueueNode>- Overrides:
removein classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
removeTyped
public boolean removeTyped(T node)
Description copied from interface:PriorityQueueSame asCollection.remove(Object)but typed using generics.- Specified by:
removeTypedin interfacePriorityQueue<T extends PriorityQueueNode>
-
priorityChanged
public void priorityChanged(T node)
Description copied from interface:PriorityQueueNotify the queue that the priority fornodehas changed. The queue will adjust to ensure the priority queue properties are maintained.- Specified by:
priorityChangedin interfacePriorityQueue<T extends PriorityQueueNode>- Parameters:
node- An object which is in this queue and the priority may have changed.
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection<T extends PriorityQueueNode>- Overrides:
toArrayin classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
toArray
public <X> X[] toArray(X[] a)
- Specified by:
toArrayin interfacejava.util.Collection<T extends PriorityQueueNode>- Overrides:
toArrayin classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
iterator
public java.util.Iterator<T> iterator()
This iterator does not return elements in any particular order.- Specified by:
iteratorin interfacejava.util.Collection<T extends PriorityQueueNode>- Specified by:
iteratorin interfacejava.lang.Iterable<T extends PriorityQueueNode>- Specified by:
iteratorin classjava.util.AbstractCollection<T extends PriorityQueueNode>
-
-