Interface Buffer

All Superinterfaces:
Collection, Iterable
All Known Implementing Classes:
AbstractBufferDecorator, ArrayStack, BinaryHeap, BlockingBuffer, BoundedBuffer, BoundedFifoBuffer, BoundedFifoBuffer, CircularFifoBuffer, PredicatedBuffer, PriorityBuffer, SynchronizedBuffer, TransformedBuffer, UnboundedFifoBuffer, UnboundedFifoBuffer, UnmodifiableBuffer

public interface Buffer extends Collection
Defines a collection that allows objects to be removed in some well-defined order.

The removal order can be based on insertion order (eg, a FIFO queue or a LIFO stack), on access order (eg, an LRU cache), on some arbitrary comparator (eg, a priority queue) or on any other well-defined ordering.

Note that the removal order is not necessarily the same as the iteration order. A Buffer implementation may have equivalent removal and iteration orders, but this is not required.

This interface does not specify any behavior for Object.equals(Object) and Object.hashCode() methods. It is therefore possible for a Buffer implementation to also also implement List, Set or Bag.

Since:
Commons Collections 2.1
Version:
$Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
Author:
Avalon, Berin Loritsch, Paul Jack, Stephen Colebourne
  • Method Details

    • remove

      Object remove()
      Gets and removes the next object from the buffer.
      Returns:
      the next object in the buffer, which is also removed
      Throws:
      BufferUnderflowException - if the buffer is already empty
    • get

      Object get()
      Gets the next object from the buffer without removing it.
      Returns:
      the next object in the buffer, which is not removed
      Throws:
      BufferUnderflowException - if the buffer is empty