|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--uk.org.ogsadai.common.FIFOQueue
Array-based implementation of the
uk.org.ogsadai.common.Queue
interface, using a
first-in-first-out (FIFO) ordering of elements.
null
.java.lang.Integer.MAX_VALUE
elements.
DEFAULT_CAPACITY
.
Queue
Nested Class Summary | |
protected class |
FIFOQueue.LocalIterator
|
Field Summary | |
private static java.lang.String |
COPYRIGHT_NOTICE
|
static int |
DEFAULT_CAPACITY
Default fixed capacity. |
protected int |
mCapacity
Capacity of the queue. |
protected java.lang.Object[] |
mData
Array containing elements of the queue. |
private int |
mHeadIndex
|
private long |
mModificationCount
|
private int |
mSize
|
private int |
mTailIndex
|
Constructor Summary | |
FIFOQueue()
Constructs a queue with a default capacity of DEFAULT_CAPACITY elements. |
|
FIFOQueue(int capacity)
Constructs a queue of given, fixed capacity. |
Method Summary | |
private int |
dec(int index)
Circularly decrease indices into data array |
java.lang.Object |
element()
Retrieves the head of the queue without removing it. |
private int |
inc(int index)
Circularly increase indices into data array. |
java.util.Iterator |
iterator()
Returns an iterator over the elements in this queue. |
boolean |
offer(java.lang.Object obj)
Inserts, if possible, an object into the queue. |
java.lang.Object |
peek()
Retrieves the head of the queue without removing it. |
java.lang.Object |
poll()
Retrieves and removes the head of the queue. |
java.lang.Object |
remove()
Retrieves and removes the head of the queue. |
void |
remove(java.lang.Object item)
Removes the specified item from the queue. |
int |
size()
Returns the number of elements in this queue. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final java.lang.String COPYRIGHT_NOTICE
public static final int DEFAULT_CAPACITY
protected final java.lang.Object[] mData
protected int mCapacity
private int mSize
private int mHeadIndex
private int mTailIndex
private long mModificationCount
Constructor Detail |
public FIFOQueue(int capacity) throws java.lang.IllegalArgumentException
capacity
- The desired capacity, which must be greater than 1.
java.lang.IllegalArgumentException
- If the supplied capacity argument is less than 1.public FIFOQueue()
DEFAULT_CAPACITY
elements.
Method Detail |
public boolean offer(java.lang.Object obj) throws java.lang.IllegalArgumentException
Queue
offer
in interface Queue
obj
- The item to insert. Must not be null
.
true
if it was possible to add the element
to this queue, otherwise false
.
java.lang.IllegalArgumentException
public java.lang.Object poll()
Queue
poll
in interface Queue
null
if the
queue is empty.public java.lang.Object remove() throws java.util.NoSuchElementException
Queue
poll
, which performs a similar task, this method
throws an exception if called on an empty queue.
remove
in interface Queue
java.util.NoSuchElementException
- if this queue is empty.public void remove(java.lang.Object item) throws java.util.NoSuchElementException
Queue
remove
in interface Queue
item
- The item to remove.
java.util.NoSuchElementException
- if this queue is empty.public java.lang.Object peek()
Queue
peek
in interface Queue
null
if the
queue is empty.public java.lang.Object element() throws java.util.NoSuchElementException
Queue
peek
, which performs a similar task, this method
throws an exception if called on an empty queue.
element
in interface Queue
java.util.NoSuchElementException
- if this queue is empty.public int size()
Queue
size
in interface Queue
public java.util.Iterator iterator()
Queue
iterator
in interface Queue
private final int inc(int index)
index
- Update index. If it reaches capacity then circle back to
the beginning of the queue.
private final int dec(int index)
index
- Update index. If it reaches 0 then circle on to the
end of the queue.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |