it.unimi.dsi.fastutil
Class IndirectPriorityQueues.SynchronizedIndirectPriorityQueue<K>

java.lang.Object
  extended by it.unimi.dsi.fastutil.IndirectPriorityQueues.SynchronizedIndirectPriorityQueue<K>
All Implemented Interfaces:
IndirectPriorityQueue<K>
Enclosing class:
IndirectPriorityQueues

public static class IndirectPriorityQueues.SynchronizedIndirectPriorityQueue<K>
extends Object
implements IndirectPriorityQueue<K>

A synchronized wrapper class for indirect priority queues.


Field Summary
static long serialVersionUID
           
 
Method Summary
 void allChanged()
          Notifies the queue that the all elements have changed (optional operation).
 void changed()
          Notifies the queue that the first element has changed (optional operation).
 void changed(int i)
          Notifies the queue that the specified 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.
 int dequeue()
          Dequeues the first element from the queue.
 void enqueue(int x)
          Enqueues a new element.
 int first()
          Returns the first element of the queue.
 int front(int[] a)
          Retrieves the front of the queue in a given array (optional operation).
 boolean isEmpty()
          Checks whether the queue is empty.
 int last()
          Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).
 void remove(int i)
          Removes the specified element from the queue (optional operation).
 int size()
          Returns the number of elements in this queue.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Method Detail

enqueue

public void enqueue(int x)
Description copied from interface: IndirectPriorityQueue
Enqueues a new element.

Specified by:
enqueue in interface IndirectPriorityQueue<K>
Parameters:
x - the element to enqueue..

dequeue

public int dequeue()
Description copied from interface: IndirectPriorityQueue
Dequeues the first element from the queue.

Specified by:
dequeue in interface IndirectPriorityQueue<K>
Returns:
the dequeued element.

first

public int first()
Description copied from interface: IndirectPriorityQueue
Returns the first element of the queue.

Specified by:
first in interface IndirectPriorityQueue<K>
Returns:
the first element.

last

public int last()
Description copied from interface: IndirectPriorityQueue
Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).

Specified by:
last in interface IndirectPriorityQueue<K>
Returns:
the last element.

isEmpty

public boolean isEmpty()
Description copied from interface: IndirectPriorityQueue
Checks whether the queue is empty.

Specified by:
isEmpty in interface IndirectPriorityQueue<K>
Returns:
true if the queue is empty.

size

public int size()
Description copied from interface: IndirectPriorityQueue
Returns the number of elements in this queue.

Specified by:
size in interface IndirectPriorityQueue<K>
Returns:
the number of elements in this queue.

clear

public void clear()
Description copied from interface: IndirectPriorityQueue
Removes all elements from this queue.

Specified by:
clear in interface IndirectPriorityQueue<K>

changed

public void changed()
Description copied from interface: IndirectPriorityQueue
Notifies the queue that the first element has changed (optional operation).

Specified by:
changed in interface IndirectPriorityQueue<K>

allChanged

public void allChanged()
Description copied from interface: IndirectPriorityQueue
Notifies the queue that the all elements have changed (optional operation).

Specified by:
allChanged in interface IndirectPriorityQueue<K>

changed

public void changed(int i)
Description copied from interface: IndirectPriorityQueue
Notifies the queue that the specified element has changed (optional operation).

Note that the specified element must belong to the queue.

Specified by:
changed in interface IndirectPriorityQueue<K>
Parameters:
i - the element that has changed.

remove

public void remove(int i)
Description copied from interface: IndirectPriorityQueue
Removes the specified element from the queue (optional operation).

Note that the specified element must belong to the queue.

Specified by:
remove in interface IndirectPriorityQueue<K>
Parameters:
i - the element to be removed.

comparator

public Comparator<? super K> comparator()
Description copied from interface: IndirectPriorityQueue
Returns the comparator associated with this queue, or null if it uses its elements' natural ordering.

Specified by:
comparator in interface IndirectPriorityQueue<K>
Returns:
the comparator associated with this sorted set, or null if it uses its elements' natural ordering.

front

public int front(int[] a)
Description copied from interface: IndirectPriorityQueue
Retrieves the front of the queue in a given array (optional operation).

The front of an indirect queue is the set of indices whose associated elements in the reference array are equal to the element associated to the first index. These indices can be always obtain by dequeueing, but this method should retrieve efficiently such indices in the given array without modifying the state of the queue.

Specified by:
front in interface IndirectPriorityQueue<K>
Parameters:
a - an array large enough to hold the front (e.g., at least long as the reference array).
Returns:
the number of elements actually written (starting from the first position of a).