@Beta @GwtCompatible public final class EvictingQueue<E> extends ForwardingQueue<E> implements Serializable
An evicting queue must be configured with a maximum size. Each time an element is added to a full queue, the queue automatically removes its head element. This is different from conventional bounded queues, which either block or reject new elements when full.
This class is not thread-safe, and does not accept null elements.
Modifier and Type | Method and Description |
---|---|
boolean |
add(E e)
Adds the given element to this queue.
|
boolean |
addAll(Collection<? extends E> collection) |
boolean |
contains(Object object) |
static <E> EvictingQueue<E> |
create(int maxSize)
Creates and returns a new evicting queue that will hold up to
maxSize elements. |
protected Queue<E> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
boolean |
offer(E e)
Adds the given element to this queue.
|
int |
remainingCapacity()
Returns the number of additional elements that this queue can accept without evicting;
zero if the queue is currently full.
|
boolean |
remove(Object object) |
element, peek, poll, remove, standardOffer, standardPeek, standardPoll
clear, containsAll, isEmpty, iterator, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRemoveAll, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArray
toString
public static <E> EvictingQueue<E> create(int maxSize)
maxSize
elements.
When maxSize
is zero, elements will be evicted immediately after being added to the
queue.
public int remainingCapacity()
protected Queue<E> delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.delegate
in class ForwardingQueue<E>
public boolean offer(E e)
public boolean add(E e)
add
in interface Collection<E>
add
in interface Queue<E>
add
in class ForwardingCollection<E>
true
alwayspublic boolean addAll(Collection<? extends E> collection)
addAll
in interface Collection<E>
addAll
in class ForwardingCollection<E>
public boolean contains(Object object)
contains
in interface Collection<E>
contains
in class ForwardingCollection<E>
public boolean remove(Object object)
remove
in interface Collection<E>
remove
in class ForwardingCollection<E>
Copyright © 2010-2015. All Rights Reserved.