package bluej.utility;
| General purpose Queue class
|
| $Id: Queue.java 6215 2009-03-30 13:28:25Z polle $
|
public class Queue
{
private Elem head;
private Elem tail;
public Queue()
{
head = null;
tail = null;
}
public synchronized void enqueue(Object data)
{
if (tail == null)
head = tail = new Elem(data);
else
{
tail.next = new Elem(data);
tail = tail.next;
}
}
public synchronized Object dequeue()
{
Object ret = null;
if (head != null)
{
ret = head.data;
head = head.next;
if (head == null)
tail = null;
}
return ret;
}
public synchronized boolean isEmpty()
{
return tail == null;
}
class Elem
{
Object data;
Elem next;
Elem(Object data)
{
this.data = data;
this.next = null;
}
}
}
top,
use,
map,
class Queue
. Queue
. enqueue
. dequeue
. isEmpty
top,
use,
map,
class Queue . Elem
66 neLoCode
+ 2 LoComm