java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Queue<E>@Beta @GwtCompatible public final class EvictingQueue<E> extends ForwardingQueue<E> implements java.io.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 | Description |
|---|---|---|
boolean |
add(E e) |
Adds the given element to this queue.
|
boolean |
addAll(java.util.Collection<? extends E> collection) |
|
boolean |
contains(java.lang.Object object) |
|
static <E> EvictingQueue<E> |
create(int maxSize) |
Creates and returns a new evicting queue that will hold up to
maxSize elements. |
protected java.util.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(java.lang.Object object) |
clear, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArrayclear, containsAll, isEmpty, iterator, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRemoveAll, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArraytoStringelement, peek, poll, remove, standardOffer, standardPeek, standardPollpublic 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 java.util.Queue<E> delegate()
ForwardingObjectForwardingSet.delegate(). Concrete subclasses override this method to supply
the instance being decorated.delegate in class ForwardingQueue<E>public boolean offer(E e)
offer in interface java.util.Queue<E>offer in class ForwardingQueue<E>true alwayspublic boolean add(E e)
add in interface java.util.Collection<E>add in interface java.util.Queue<E>add in class ForwardingCollection<E>true alwayspublic boolean addAll(java.util.Collection<? extends E> collection)
addAll in interface java.util.Collection<E>addAll in class ForwardingCollection<E>public boolean contains(java.lang.Object object)
contains in interface java.util.Collection<E>contains in class ForwardingCollection<E>public boolean remove(java.lang.Object object)
remove in interface java.util.Collection<E>remove in class ForwardingCollection<E>