FixedLengthQueue

@Serializable(with = FixedLengthQueueSerializer::class)
class FixedLengthQueue<E>(val maxSize: Int) : Queue<E>

Fixed-length FIFO Queue implementation based on a MutableList.

Transparently adds data to the list in reverse (the queue's head is the end of the list), copying and reversing the list when retrieved via getAll.

If you need to be able to tell the difference between a null value and a missing value, consider using Kord's dev.kord.common.entity.optional.Optional as the element type.

Parameters

maxSize

Maximum number of elements in this queue.

Constructors

Link copied to clipboard
constructor(maxSize: Int)

Properties

Link copied to clipboard
Link copied to clipboard
open override val size: Int

Functions

Link copied to clipboard
open override fun add(element: E): Boolean
Link copied to clipboard
open override fun addAll(elements: Collection<E>): Boolean
Link copied to clipboard
open override fun clear()
Link copied to clipboard
open operator override fun contains(element: E): Boolean
Link copied to clipboard
open override fun containsAll(elements: Collection<E>): Boolean
Link copied to clipboard
open override fun element(): E?
Link copied to clipboard
open fun forEach(p0: Consumer<in E>)
Link copied to clipboard
fun get(): E?

Retrieve the last element.

Link copied to clipboard
fun getAll(): List<E>

Returns a list of all elements in this queue, in pushed order (newest to oldest).

Link copied to clipboard
fun getFirst(): E?

Retrieve the first element.

Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open operator override fun iterator(): MutableIterator<E>
Link copied to clipboard
open override fun offer(element: E): Boolean
Link copied to clipboard
open fun parallelStream(): Stream<E>
Link copied to clipboard
open override fun peek(): E?
Link copied to clipboard
open override fun poll(): E?
Link copied to clipboard
fun pop(): E?

Remove the last element and return it.

Link copied to clipboard
fun popFirst(): E?

Remove the first element and return it.

Link copied to clipboard
fun push(element: E): Boolean

Add an element to the head of the queue, replacing the element at the tail if maxSize has been reached.

Link copied to clipboard
open override fun remove(): E?
open override fun remove(element: E): Boolean
Link copied to clipboard
open override fun removeAll(elements: Collection<E>): Boolean
Link copied to clipboard
open fun removeIf(p0: Predicate<in E>): Boolean
Link copied to clipboard
open override fun retainAll(elements: Collection<E>): Boolean
Link copied to clipboard
open override fun spliterator(): Spliterator<E>
Link copied to clipboard
open fun stream(): Stream<E>
Link copied to clipboard
open fun <T : Any> toArray(p0: IntFunction<Array<T>>): Array<T>