public class Queue<Item> extends java.lang.Object implements java.lang.Iterable<Item>
This implementation uses a singly-linked list with a static nested class for
linked-list nodes. See LinkedQueue
for the version from the
textbook that uses a non-static nested class.
The enqueue, dequeue, peek, size, and is-empty
operations all take constant time in the worst case.
For additional documentation, see Section 1.3 of Algorithms, 4th Edition, by Robert Sedgewick and Kevin Wayne.
Constructor and Description |
---|
Queue()
Constructor: initializes an empty queue.
|
Modifier and Type | Method and Description |
---|---|
Item |
dequeue()
Removes and returns the item on this queue that was least recently added.
|
void |
enqueue(Item item)
Adds item to this queue.
|
boolean |
isEmpty()
Is this queue empty?
|
java.util.Iterator<Item> |
iterator()
Returns an iterator that iterates over the items in this queue in FIFO order.
|
static void |
main(java.lang.String[] args)
Unit tests the Queue data type.
|
Item |
peek()
Returns the item least recently added to this queue.
|
int |
size()
Returns the number of items in this queue.
|
java.lang.String |
toString()
Returns a string representation of this queue.
|
public boolean isEmpty()
public int size()
public Item peek()
java.util.NoSuchElementException
- if this queue is emptypublic void enqueue(Item item)
public Item dequeue()
java.util.NoSuchElementException
- if this queue is emptypublic java.lang.String toString()
toString
in class java.lang.Object
public java.util.Iterator<Item> iterator()
iterator
in interface java.lang.Iterable<Item>
public static void main(java.lang.String[] args)