@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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
clear, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray
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-2017. All Rights Reserved.