Interface CircularFifoBuffer<T>
- All Known Implementing Classes:
ConcurrentCircularFifoBuffer
public interface CircularFifoBuffer<T>
A
CircularFifoBuffer is a first in first out buffer with a fixed size that replaces its
oldest element if full. CircularFifoBuffer does NOT accept null elements.-
Method Summary
Modifier and TypeMethodDescriptionvoidAdds element to theCircularFifoBufferand overwrites the oldest element whenisFull().booleanisEmpty()Returnstrueif thisCircularFifoBuffercontains no elements.booleanisFull()Returnstrueif thisCircularFifoBufferis full.intsize()Returns the number of elements in thisCircularFifoBuffer.take()Retrieves and removes the head of this queue, or returnsOptional.empty()if this queue is empty.toList()Returns a list containing all of the elements in thisCircularFifoBuffer.toStream()Returns a stream of the elements in thisCircularFifoBuffer.
-
Method Details
-
size
int size()Returns the number of elements in thisCircularFifoBuffer.- Returns:
- the number of elements in this
CircularFifoBuffer
-
isEmpty
boolean isEmpty()Returnstrueif thisCircularFifoBuffercontains no elements.- Returns:
trueif thisCircularFifoBuffercontains no elements
-
isFull
boolean isFull()Returnstrueif thisCircularFifoBufferis full.- Returns:
trueif thisCircularFifoBufferis full
-
toList
Returns a list containing all of the elements in thisCircularFifoBuffer. The elements are copied into an array.- Returns:
- a list containing all of the elements in this
CircularFifoBuffer
-
toStream
Returns a stream of the elements in thisCircularFifoBuffer.- Returns:
- a stream of the elements in this
CircularFifoBuffer
-
add
Adds element to theCircularFifoBufferand overwrites the oldest element whenisFull().- Parameters:
element- to add- Throws:
NullPointerException- if the specified element is null
-
take
Retrieves and removes the head of this queue, or returnsOptional.empty()if this queue is empty.- Returns:
- the head of this queue, or
Optional.empty()empty} if this queue is empty
-