|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object jpaul.DataStructs.WorkPriorityQueue<T>
public class WorkPriorityQueue<T>
WorkPriorityQueue
is a WorkSet
whose
elements are extracted in the increasing order of their priorities.
The add
/extract
operations have
logarithmic complexity.
(Note that from a linguistic perspective, a
PriorityQueue
provides elements according to their
inverse priorities: smallest priorities first)
Constructor Summary | |
---|---|
WorkPriorityQueue(java.util.Comparator<T> comp)
Creates a WorkPriorityQueue . |
Method Summary | |
---|---|
boolean |
add(T elem)
Adds the element elem to this
workset. |
boolean |
addAll(java.util.Collection<T> elems)
Adds all elements from elems to this
workset. |
protected void |
addToOrder(T elem)
Adds elem to the underlying list. |
void |
clear()
Removes all elements from the workset. Complexity: O(1). |
boolean |
contains(T e)
Checks whether this workset contains the element
e .Complexity: O(1). |
T |
extract()
Returns the first element of this workset
(according to the order specific to this workset. |
protected T |
extractInOrder()
Returns the first element from the underlying ordered collection. |
boolean |
isEmpty()
Checks whether this workset is empty.Complexity: O(1). |
int |
size()
Returns the size of this workset.Invariant: isEmpty() iff size() ==
0 .Complexity: O(1). |
java.lang.String |
toString()
|
protected java.util.Collection<T> |
underlyingOrder()
Returns the underlying ordered collection. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public WorkPriorityQueue(java.util.Comparator<T> comp)
WorkPriorityQueue
.
comp
- Comparator used to determine the priority order
between the elements of this WorkSet
.Method Detail |
---|
protected void addToOrder(T elem)
elem
to the underlying list. Subclasses
will have to choose whether they want to perform the addition
at the head, respectively at the tail of the list.
Precondition: elem
is not already in the list.
protected T extractInOrder()
protected java.util.Collection<T> underlyingOrder()
clear
and
toString
.
public boolean add(T elem)
WorkSet
elem
to this
workset.
add
in interface WorkSet<T>
true
if elem
was not already
in the workset. If elem
was already in the
workset, the workset does not change in any way, and
add
returns false
.public boolean addAll(java.util.Collection<T> elems)
WorkSet
elems
to this
workset.
addAll
in interface WorkSet<T>
true
if any of the added elements was not
already in this
workset. Otherwise, the workset
does not change in any way, and add
returns
false
.public T extract()
WorkSet
this
workset
(according to the order specific to this
workset.
The element is removed from the workset. Throws a NoSuchElementException
if
the workset is empty.
extract
in interface WorkSet<T>
public void clear()
WorkSet
clear
in interface WorkSet<T>
public boolean isEmpty()
WorkSet
this
workset is empty.
isEmpty
in interface WorkSet<T>
public boolean contains(T e)
WorkSet
this
workset contains the element
e
.
contains
in interface WorkSet<T>
public int size()
WorkSet
this
workset.isEmpty()
iff size() ==
0
.
size
in interface WorkSet<T>
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |