import java.util.*; /** *

class Queue is a simple implementation of a queue * data structure.

* * @author G.D.Thurman * @version 99.09.26 */ public class Queue implements Csxxx_Containers { private Vector elems; public Queue() { this(DFLT_NELEMENTS); } public Queue(int len) { elems = new Vector(len); } public void enqueue(Object elem) { elems.addElement(elem); } public Object dequeue() { Object obj = front(); if (obj != null) elems.removeElementAt(0); return obj; } public Object front() { return elems.size() == 0 ? null : elems.elementAt(0); } /* interfaces */ public int capacity() { return elems.capacity(); } public int size() { return elems.size(); } public boolean isEmpty() { return elems.size() == 0; } public boolean isFull() { return elems.size() == elems.capacity(); } public void clear() { elems.removeAllElements(); } public String toString() { int size = elems.size(); String s = new String("queue contents:" + "\n" + "===============\n"); for (int i = 0; i < size; i++) s += "\t" + elems.elementAt(i) + "\n"; s += "size: " + elems.size() + "; capacity: " + elems.capacity(); return s; } public static void main(String[] argv) { Queue q = new Queue(); for (int i = 0; i < argv.length; i++) q.enqueue(argv[i]); System.out.println(q); if (!q.isEmpty()) { System.out.println("\ndequeue: " + q.dequeue()); System.out.println("front: " + q.front()); System.out.println("size: " + q.size()); System.out.println("capacity: " + q.capacity()); } q.clear(); System.out.println("\n*** queue cleared\n\n" + q); } }