ArrayDeque
Resizable-array implementation of the deque data structure.
The name deque is short for "double ended queue" and is usually pronounced "deck".
The collection provide methods for convenient access to the both ends. It also implements MutableList interface and supports efficient get/set operations by index.
Since Kotlin
1.4Constructors
Constructs an empty deque with specified initialCapacity, or throws IllegalArgumentException if initialCapacity is negative.
Constructs an empty deque.
Constructs a deque that contains the same elements as the specified elements collection in the same order.
Properties
Returns an IntRange of the valid indices for this collection.
Functions
Adds all elements of the given elements array to this MutableCollection.
Adds all elements of the given elements collection to this MutableCollection.
Adds all elements of the given elements sequence to this MutableCollection.
Returns a reversed read-only view of the original List. All changes made in the original list will be reflected in the reversed one.
Returns a reversed mutable view of the original mutable List. All changes made in the original list will be reflected in the reversed one and vice versa.
Returns a Map containing the elements from the given collection indexed by the key returned from keySelector function applied to each element.
Returns a Map containing the values provided by valueTransform and indexed by keySelector functions applied to elements of the given collection.
Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function applied to each element of the given collection and value is the element itself.
Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function and and value is provided by the valueTransform function applied to elements of the given collection.
Populates and returns the destination mutable map with key-value pairs for each element of the given collection, where key is the element itself and value is provided by the valueSelector function applied to that key.
Returns an average value of elements in the collection.
Searches this list or its range for an element for which the given comparison function returns zero using the binary search algorithm.
Searches this list or its range for the provided element using the binary search algorithm. The list is expected to be sorted into ascending order according to the Comparable natural ordering of its elements, otherwise the result is undefined.
Searches this list or its range for the provided element using the binary search algorithm. The list is expected to be sorted into ascending order according to the specified comparator, otherwise the result is undefined.
Searches this list or its range for an element having the key returned by the specified selector function equal to the provided key value using the binary search algorithm. The list is expected to be sorted into ascending order according to the Comparable natural ordering of keys of its elements. otherwise the result is undefined.
Checks if all elements in the specified collection are contained in this collection.
Checks if all elements in the specified collection are contained in this collection.
Returns an element at the given index or throws an IndexOutOfBoundsException if the index is out of bounds of this collection.
Returns an element at the given index or throws an IndexOutOfBoundsException if the index is out of bounds of this list.
Returns an element at the given index or the result of calling the defaultValue function if the index is out of bounds of this collection.
Returns an element at the given index or the result of calling the defaultValue function if the index is out of bounds of this list.
Fills the list with the provided value.
Appends all elements matching the given predicate to the given destination.
Returns a list containing all elements that are instances of specified type parameter R.
Appends all elements that are instances of specified type parameter R to the given destination.
Appends all elements that are instances of specified class to the given destination.
Appends all elements that are not null
to the given destination.
Appends all elements not matching the given predicate to the given destination.
Returns the first element, or throws NoSuchElementException if this deque is empty.
Returns the first element, or null
if the collection is empty.
Returns the first element, or null
if the list is empty.
Returns the first element matching the given predicate, or null
if element was not found.
Returns a single list of all elements yielded from results of transform function being invoked on each element of original collection.
Returns a single list of all elements yielded from results of transform function being invoked on each element of original collection.
Returns a single list of all elements yielded from results of transform function being invoked on each element and its index in the original collection.
Appends all elements yielded from results of transform function being invoked on each element and its index in the original collection, to the given destination.
Appends all elements yielded from results of transform function being invoked on each element of original collection, to the given destination.
Appends all elements yielded from results of transform function being invoked on each element of original collection, to the given destination.
Groups elements of the original collection by the key returned by the given keySelector function applied to each element and returns a map where each group key is associated with a list of corresponding elements.
Groups values returned by the valueTransform function applied to each element of the original collection by the key returned by the given keySelector function applied to the element and returns a map where each group key is associated with a list of corresponding values.
Groups elements of the original collection by the key returned by the given keySelector function applied to each element and puts to the destination map each group key associated with a list of corresponding elements.
Groups values returned by the valueTransform function applied to each element of the original collection by the key returned by the given keySelector function applied to the element and puts to the destination map each group key associated with a list of corresponding values.
Returns true
if the collection is not empty.
Returns true
if this nullable collection is either null or empty.
Returns an iterator over the elements of this object.
Appends the string from all the elements separated using separator and using the given prefix and postfix if supplied.
Creates a string from all the elements separated using separator and using the given prefix and postfix if supplied.
Returns the last element, or throws NoSuchElementException if this deque is empty.
Returns the index of the last occurrence of the specified element in the list, or -1 if the specified element is not contained in the list.
Returns the last element, or null
if the collection is empty.
Returns the last element, or null
if the list is empty.
Returns the last element matching the given predicate, or null
if no such element was found.
Returns a list iterator over the elements in this list (in proper sequence).
Returns a list iterator over the elements in this list (in proper sequence), starting at the specified index.
Applies the given transform function to each element and its index in the original collection and appends only the non-null results to the given destination.
Applies the given transform function to each element and its index in the original collection and appends the results to the given destination.
Applies the given transform function to each element in the original collection and appends only the non-null results to the given destination.
Returns the largest element.
Returns the first element yielding the largest value of the given function or null
if there are no elements.
Returns the largest value among all values produced by selector function applied to each element in the collection.
Returns the largest value among all values produced by selector function applied to each element in the collection or null
if there are no elements.
Returns the largest value according to the provided comparator among all values produced by selector function applied to each element in the collection or null
if there are no elements.
Returns the first element having the largest value according to the provided comparator or null
if there are no elements.
Returns the smallest element.
Returns the first element yielding the smallest value of the given function or null
if there are no elements.
Returns the smallest value among all values produced by selector function applied to each element in the collection.
Returns the smallest value among all values produced by selector function applied to each element in the collection or null
if there are no elements.
Returns the smallest value according to the provided comparator among all values produced by selector function applied to each element in the collection or null
if there are no elements.
Returns a list containing all elements of the original collection without the first occurrence of the given element.
Returns a list containing all elements of the original collection except the elements contained in the given elements array.
Returns a list containing all elements of the original collection except the elements contained in the given elements collection.
Returns a list containing all elements of the original collection except the elements contained in the given elements sequence.
Removes a single instance of the specified element from this mutable collection.
Removes all elements contained in the given elements array from this mutable collection.
Removes all elements contained in the given elements collection from this mutable collection.
Removes all elements contained in the given elements sequence from this mutable collection.
Returns the first element having the smallest value according to the provided comparator or null
if there are no elements.
Returns a list containing all elements of the original collection and then the given element.
Returns a list containing all elements of the original collection and then all elements of the given elements array.
Returns a list containing all elements of the original collection and then all elements of the given elements collection.
Returns a list containing all elements of the original collection and then all elements of the given elements sequence.
Adds the specified element to this mutable collection.
Adds all elements of the given elements array to this mutable collection.
Adds all elements of the given elements collection to this mutable collection.
Adds all elements of the given elements sequence to this mutable collection.
Returns a list containing all elements of the original collection and then the given element.
Returns a random element from this collection, or null
if this collection is empty.
Returns a random element from this collection using the specified source of randomness, or null
if this collection is empty.
Removes a single instance of the specified element from this collection, if it is present.
Removes the element at the specified index from this list. In Kotlin one should use the MutableList.removeAt function instead.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all elements from this MutableCollection that are also contained in the given elements array.
Removes all of this collection's elements that are also contained in the specified collection.
Removes all elements from this MutableCollection that are also contained in the given elements collection.
Removes all elements from this MutableCollection that are also contained in the given elements sequence.
Removes all elements from this MutableIterable that match the given predicate.
Removes all elements from this MutableList that match the given predicate.
Removes the first element from this deque and returns that removed element, or throws NoSuchElementException if this deque is empty.
Removes the first element from this mutable list and returns that removed element, or throws NoSuchElementException if this list is empty.
Removes the first element from this deque and returns that removed element, or returns null
if this deque is empty.
Removes the first element from this mutable list and returns that removed element, or returns null
if this list is empty.
Removes the last element from this deque and returns that removed element, or throws NoSuchElementException if this deque is empty.
Removes the last element from this mutable list and returns that removed element, or throws NoSuchElementException if this list is empty.
Removes the last element from this deque and returns that removed element, or returns null
if this deque is empty.
Removes the last element from this mutable list and returns that removed element, or returns null
if this list is empty.
Replaces each element in the list with a result of a transformation specified.
Returns an original collection containing all the non-null
elements, throwing an IllegalArgumentException if there are any null
elements.
Retains only the elements in this collection that are contained in the specified collection.
Retains only elements of this MutableCollection that are contained in the given elements array.
Retains only the elements in this collection that are contained in the specified collection.
Retains only elements of this MutableCollection that are contained in the given elements collection.
Retains only elements of this MutableCollection that are contained in the given elements sequence.
Retains only elements of this MutableIterable that match the given predicate.
Retains only elements of this MutableList that match the given predicate.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element, its index in the original collection and current accumulator value that starts with initial value.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element and current accumulator value that starts with the first element of this collection.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element, its index in the original collection and current accumulator value that starts with the first element of this collection.
Returns a list containing successive accumulation values generated by applying operation from left to right to each element, its index in the original collection and current accumulator value that starts with initial value.
Randomly shuffles elements in this list.
Randomly shuffles elements in this list in-place using the specified random instance as the source of randomness.
Randomly shuffles elements in this mutable list.
Randomly shuffles elements in this mutable list using the specified random instance as the source of randomness.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this list randomly shuffled using the specified random instance as the source of randomness.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this list randomly shuffled using the specified random instance as the source of randomness.
Returns a new list with the elements of this collection randomly shuffled.
Returns a new list with the elements of this collection randomly shuffled.
Returns the single element, or throws an exception if the collection is empty or has more than one element.
Returns the single element, or throws an exception if the list is empty or has more than one element.
Returns the single element matching the given predicate, or throws exception if there is no or more than one matching element.
Returns single element, or null
if the collection is empty or has more than one element.
Returns single element, or null
if the list is empty or has more than one element.
Returns the single element matching the given predicate, or null
if element was not found or more than one element was found.
Sorts elements in the list in-place according to their natural sort order.
Sorts elements in the list in-place according to their natural sort order.
Sorts elements in the list in-place according to their natural sort order.
Sorts elements in the list in-place according to their natural sort order.
Sorts elements in the list in-place according to their natural sort order.
Sorts elements in the list in-place according to their natural sort order.
Sorts elements in the list in-place descending according to natural sort order of the value returned by specified selector function.
Sorts elements in the list in-place descending according to their natural sort order.
Returns a list of all elements sorted descending according to their natural sort order.
Returns a list of all elements sorted according to the specified comparator.
Sorts elements in the list in-place according to the order specified with comparator.
Sorts elements in the list in-place according to the order specified with comparator.
Sorts elements in the list in-place according to the order specified with comparator.
Sorts elements in the list in-place according to the order specified with comparator.
Sorts elements in the list in-place according to the order specified with comparator.
Sorts elements in the list in-place according to the order specified with comparator.
Returns the sum of all elements in the collection.
Returns the sum of all elements in the collection.
Returns the sum of all values produced by selector function applied to each element in the collection.
Returns the sum of all values produced by selector function applied to each element in the collection.
Returns the sum of all values produced by selector function applied to each element in the collection.
Returns an array of Boolean containing all of the elements of this collection.
Returns an array of Byte containing all of the elements of this collection.
Returns an array of Char containing all of the elements of this collection.
Appends all elements to the given destination collection.
Convert this list of Kotlin strings to C array of C strings, allocating memory for the array and C strings with given AutofreeScope.
Returns an array of Double containing all of the elements of this collection.
Returns an array of Float containing all of the elements of this collection.
Returns an array of Int containing all of the elements of this collection.
Returns an array of Long containing all of the elements of this collection.
Returns a new map containing all key-value pairs from the given collection of pairs.
Populates and returns the destination mutable map with key-value pairs from the given collection of pairs.
Returns a new MutableList filled with all elements of this collection.
Returns a new MutableSet containing all distinct elements from the given collection.
Returns an array of Short containing all of the elements of this collection.
Returns a new SortedSet of all elements.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns a typed array containing all the elements of this collection.
Returns an array of UByte containing all of the elements of this collection.
Returns an array of UInt containing all of the elements of this collection.
Returns an array of ULong containing all of the elements of this collection.
Returns an array of UShort containing all of the elements of this collection.
Returns a list of snapshots of the window of the given size sliding along this collection with the given step, where each snapshot is a list.
Returns a list of results of applying the given transform function to an each list representing a view over the window of the given size sliding along this collection with the given step.
Returns a lazy Iterable that wraps each element of the original collection into an IndexedValue containing the index of that element and the element itself.
Returns a list of pairs built from the elements of this
collection and the other array with the same index. The returned list has length of the shortest collection.
Returns a list of pairs built from the elements of this
collection and other collection with the same index. The returned list has length of the shortest collection.
Returns a list of values built from the elements of this
collection and the other array with the same index using the provided transform function applied to each pair of elements. The returned list has length of the shortest collection.
Returns a list of values built from the elements of this
collection and the other collection with the same index using the provided transform function applied to each pair of elements. The returned list has length of the shortest collection.
Returns a list of pairs of each two adjacent elements in this collection.
Returns a list containing the results of applying the given transform function to an each pair of two adjacent elements in this collection.