Package org.elasticsearch.common.collect
Class EvictingQueue<T>
org.elasticsearch.common.collect.EvictingQueue<T>
- Type Parameters:
T
- The type of elements in the queue.
- All Implemented Interfaces:
<T>
,<T>
,<T>
public class EvictingQueue<T>
extends
implements <T>
An
EvictingQueue
is a non-blocking queue which is limited to a maximum size; when new elements are added to a
full queue, elements are evicted from the head of the queue to accommodate the new elements.-
Constructor Summary
ConstructorDescriptionEvictingQueue(int maximumSize)
Construct a newEvictingQueue
that holdsmaximumSize
elements. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Add the given element to the queue, possibly forcing an eviction from the head ifremainingCapacity()
is zero.boolean
<? extends T> c)
Add the given elements to the queue, possibly forcing evictions from the head ifremainingCapacity()
is zero or becomes zero during the execution of this method.void
clear()
boolean
o)
boolean
<?> c)
element()
boolean
isEmpty()
<T>
iterator()
boolean
peek()
poll()
int
remove()
boolean
o)
boolean
<?> c)
boolean
<?> c)
int
size()
[]
toArray()
<T1> T1[]
toArray(T1[] a)
Methods inherited from class java.lang.
, , , , , , , , , ,
Methods inherited from interface java.util.
, , , , , ,
Methods inherited from interface java.lang.
-
Constructor Details
-
EvictingQueue
public EvictingQueue(int maximumSize)Construct a newEvictingQueue
that holdsmaximumSize
elements.- Parameters:
maximumSize
- The maximum number of elements that the queue can hold- Throws:
- if
maximumSize
is less than zero
-
-
Method Details
-
remainingCapacity
public int remainingCapacity()- Returns:
- the number of additional elements that the queue can accommodate before evictions occur
-
add
Add the given element to the queue, possibly forcing an eviction from the head ifremainingCapacity()
is zero. -
offer
- Specified by:
in interface
<T>
- See Also:
add(Object)
-
remove
- Specified by:
in interface
<T>
-
poll
- Specified by:
in interface
<T>
-
element
- Specified by:
in interface
<T>
-
peek
- Specified by:
in interface
<T>
-
size
public int size()- Specified by:
in interface
<T>
-
isEmpty
public boolean isEmpty()- Specified by:
in interface
<T>
-
contains
public boolean contains( o)- Specified by:
in interface
<T>
-
iterator
-
toArray
public [] toArray()- Specified by:
in interface
<T>
-
toArray
public <T1> T1[] toArray(T1[] a)- Specified by:
in interface
<T>
-
remove
public boolean remove( o)- Specified by:
in interface
<T>
-
containsAll
public boolean containsAll(<?> c)- Specified by:
in interface
<T>
-
addAll
Add the given elements to the queue, possibly forcing evictions from the head ifremainingCapacity()
is zero or becomes zero during the execution of this method.- Specified by:
in interface
<T>
- Parameters:
c
- the collection of elements to add- Returns:
- true if any elements were added to the queue
-
removeAll
public boolean removeAll(<?> c)- Specified by:
in interface
<T>
-
retainAll
public boolean retainAll(<?> c)- Specified by:
in interface
<T>
-
clear
public void clear()- Specified by:
in interface
<T>
-