Save This Page
Home » commons-collections-3.2.1-src » org.apache.commons » collections » buffer » [javadoc | source]
org.apache.commons.collections.buffer
public class: UnboundedFifoBuffer [javadoc | source]
java.lang.Object
   java.util.AbstractCollection
      org.apache.commons.collections.buffer.UnboundedFifoBuffer

All Implemented Interfaces:
    Serializable, Buffer, Collection

UnboundedFifoBuffer is a very efficient implementation of Buffer that can grow to any size. According to performance testing, it exhibits a constant access time, but it also outperforms ArrayList when used for the same purpose.

The removal order of an UnboundedFifoBuffer is based on the insertion order; elements are removed in the same order in which they were added. The iteration order is the same as the removal order.

The #remove() and #get() operations perform in constant time. The #add(Object) operation performs in amortized constant time. All other operations perform in linear time or worse.

Note that this implementation is not synchronized. The following can be used to provide synchronized access to your UnboundedFifoBuffer:

Buffer fifo = BufferUtils.synchronizedBuffer(new UnboundedFifoBuffer());

This buffer prevents null objects from being added.

This class is Serializable from Commons Collections 3.1.

Field Summary
protected transient  Object[] buffer    The array of objects in the buffer. 
protected transient  int head    The current head index. 
protected transient  int tail    The current tail index. 
Constructor:
 public UnboundedFifoBuffer() 
 public UnboundedFifoBuffer(int initialSize) 
Method from org.apache.commons.collections.buffer.UnboundedFifoBuffer Summary:
add,   get,   isEmpty,   iterator,   remove,   size
Methods from java.util.AbstractCollection:
add,   addAll,   clear,   contains,   containsAll,   isEmpty,   iterator,   remove,   removeAll,   retainAll,   size,   toArray,   toArray,   toString
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.commons.collections.buffer.UnboundedFifoBuffer Detail:
 public boolean add(Object obj) 
    Adds the given element to this buffer.
 public Object get() 
    Returns the next object in the buffer.
 public boolean isEmpty() 
    Returns true if this buffer is empty; false otherwise.
 public Iterator iterator() 
    Returns an iterator over this buffer's elements.
 public Object remove() 
    Removes the next object from the buffer
 public int size() 
    Returns the number of elements stored in the buffer.