structure
Class AbstractQueue<ELTTYPE>

java.lang.Object
  extended by structure.AbstractStructure<ELTTYPE>
      extended by structure.AbstractLinear<ELTTYPE>
          extended by structure.AbstractQueue<ELTTYPE>
All Implemented Interfaces:
java.lang.Iterable<ELTTYPE>, Linear<ELTTYPE>, Queue<ELTTYPE>, Structure<ELTTYPE>
Direct Known Subclasses:
QueueArray, QueueList, QueueVector

public abstract class AbstractQueue<ELTTYPE>
extends AbstractLinear<ELTTYPE>
implements Queue<ELTTYPE>

An abstract structure implementing features common to all first-in, first-out structures in this package. Queues are typically used to process values in the order that they appear and to store the state of buffered objects. The structure package provides several implementations of the Queue interface, each of which has its particular strengths and weaknesses.

Example usage:

To compute the sum of the unicode value of every character in the standard input we could use the following:

 public static void main(String[] arguments)
 {
     AbstractQueue q = new QueueList();
     int unicodeSum = 0;

     if(arguments.length > 0){
         for(int i=0; i < arguments.length; i++){
               for(int j=0; j < arguments[i].length(); j++){
                   q.enqueue(new Character(arguments[i].charAt(j)));
               }
           }
     }

     while(!q.AbstractLinear.empty()){
          char c = ((Character)q.dequeue()).charValue();
          unicodeSum+=Character.getNumericValue(c);
     }

     System.out.println("Total Value: " + unicodeSum);
 }
 

See Also:
QueueArray, QueueVector, QueueList

Constructor Summary
AbstractQueue()
           
 
Method Summary
 ELTTYPE dequeue()
          Remove a value form the head of the queue.
 void enqueue(ELTTYPE item)
          Add a value to the tail of the queue.
 ELTTYPE getFirst()
          Fetch the value at the head of the queue.
 ELTTYPE peek()
          Fetch the value at the head of the queue.
 
Methods inherited from class structure.AbstractLinear
empty, remove
 
Methods inherited from class structure.AbstractStructure
contains, elements, hashCode, isEmpty, values
 
Methods inherited from class java.lang.Object
equals, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface structure.Queue
add, empty, get, remove, size
 
Methods inherited from interface structure.Structure
clear, contains, elements, isEmpty, iterator, remove, values
 

Constructor Detail

AbstractQueue

public AbstractQueue()
Method Detail

enqueue

public void enqueue(ELTTYPE item)
Add a value to the tail of the queue.

Specified by:
enqueue in interface Queue<ELTTYPE>
Parameters:
value - The value added.
Post:
the value is added to the tail of the structure

dequeue

public ELTTYPE dequeue()
Remove a value form the head of the queue.

Specified by:
dequeue in interface Queue<ELTTYPE>
Returns:
The value actually removed.
Pre:
the queue is not empty
Post:
the head of the queue is removed and returned

getFirst

public ELTTYPE getFirst()
Fetch the value at the head of the queue.

Specified by:
getFirst in interface Queue<ELTTYPE>
Returns:
Reference to the first value of the queue.
Pre:
the queue is not empty
Post:
the element at the head of the queue is returned

peek

public ELTTYPE peek()
Fetch the value at the head of the queue.

Specified by:
peek in interface Queue<ELTTYPE>
Returns:
Reference to the first value of the queue.
Pre:
the queue is not empty
Post:
the element at the head of the queue is returned