structure5
Class AbstractQueue<E>

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

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

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
 E dequeue()
          Remove a value form the head of the queue.
 void enqueue(E item)
          Add a value to the tail of the queue.
 E getFirst()
          Fetch the value at the head of the queue.
 E peek()
          Fetch the value at the head of the queue.
 
Methods inherited from class structure5.AbstractLinear
empty, remove
 
Methods inherited from class structure5.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 structure5.Queue
add, empty, get, remove, size
 
Methods inherited from interface structure5.Structure
clear, contains, elements, isEmpty, iterator, remove, values
 

Constructor Detail

AbstractQueue

public AbstractQueue()
Method Detail

enqueue

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

Specified by:
enqueue in interface Queue<E>
Parameters:
value - The value added.

dequeue

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

Specified by:
dequeue in interface Queue<E>
Returns:
The value actually removed.

getFirst

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

Specified by:
getFirst in interface Queue<E>
Returns:
Reference to the first value of the queue.

peek

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

Specified by:
peek in interface Queue<E>
Returns:
Reference to the first value of the queue.