Array List
Требования к платформе и версии: Common (1.0)
expect class ArrayList<E>(initialCapacity: Int) : MutableList<E> , RandomAccess
Реализация MutableList на основе динамического массива.
Этот класс хранит элементы последовательно в памяти, используя внутренний массив, который автоматически увеличивается при необходимости. Он полностью реализует контракт MutableList, предоставляя все стандартные операции со списком, включая доступ по индексу, перебор и изменение. Как реализация RandomAccess, он обеспечивает быстрый доступ к элементам по индексу.
Характеристики производительности
ArrayList обеспечивает эффективную реализацию распространённых операций:
Добавление в конец (add): O(1), постоянное амортизированное время. Когда внутренний массив заполнен, его необходимо изменить, что требует O(n) времени для копирования всех существующих элементов в новый массив большего размера. Однако по мере роста списка такие операции изменения размера выполняются всё реже, поэтому средняя стоимость добавления остаётся постоянной при большом количестве операций.
Удаление из конца (removeLast, removeAt
(size - 1)): O(1), постоянное времяВставка или удаление по позиции (add с индексом, removeAt): O(n), линейное время, поскольку элементы после указанной позиции необходимо сдвинуть
Операции поиска (contains, indexOf, lastIndexOf): O(n), линейное время
Перебор: O(n), линейное время
Примечание: в целевой платформе JS эти гарантии временной сложности могут не соблюдаться из-за особенностей реализации базового движка JavaScript.
Рекомендации по использованию
Для оптимизации производительности и использования памяти:
Если количество элементов известно заранее, используйте конструктор с начальной ёмкостью, чтобы избежать многократного выделения памяти по мере роста списка.
Перед добавлением большого количества элементов используйте ensureCapacity, чтобы заранее выделить достаточно места.
При добавлении нескольких элементов отдавайте предпочтение addAll, а не многократным отдельным вызовам add.
После добавления всех элементов вызовите trimToSize, чтобы уменьшить потребление памяти, если дальнейший рост списка не ожидается.
Потокобезопасность
ArrayList не является потокобезопасным. Если несколько потоков одновременно обращаются к одному экземпляру и хотя бы один из них изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в списке.
Требования к платформе и версии: JS (1.1)
actual open class ArrayList<E>(initialCapacity: Int) : AbstractMutableList<E> , MutableList<E> , RandomAccess
Реализация MutableList на основе динамического массива.
Этот класс хранит элементы в нативном массиве JavaScript. Он полностью реализует контракт MutableList, предоставляя все стандартные операции со списком, включая доступ по индексу, перебор и изменение. Как реализация RandomAccess, он обеспечивает быстрый доступ к элементам по индексу.
Особенности реализации для JS
В целевой платформе JS эта реализация использует нативный массив JavaScript для хранения элементов. Массивы JavaScript динамические по своей природе и автоматически управляют собственной ёмкостью. Поэтому методы управления ёмкостью, такие как ensureCapacity и trimToSize, не оказывают эффекта. В JavaScript предварительное выделение массива не даёт преимуществ в производительности.
Потокобезопасность
ArrayList не является потокобезопасным. Если несколько потоков одновременно обращаются к одному экземпляру и хотя бы один из них изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в списке.
Требования к платформе и версии: JVM (1.1)
actual typealias ArrayList<E> = java.util.ArrayList<E>
Реализация MutableList на основе динамического массива.
Этот класс хранит элементы последовательно в памяти, используя внутренний массив, который автоматически увеличивается при необходимости. Он полностью реализует контракт MutableList, предоставляя все стандартные операции со списком, включая доступ по индексу, перебор и изменение. Как реализация RandomAccess, он обеспечивает быстрый доступ к элементам по индексу.
Характеристики производительности
ArrayList обеспечивает эффективную реализацию распространённых операций:
Добавление в конец (add): O(1), постоянное амортизированное время. Когда внутренний массив заполнен, его необходимо изменить, что требует O(n) времени для копирования всех существующих элементов в новый массив большего размера. Однако по мере роста списка такие операции изменения размера выполняются всё реже, поэтому средняя стоимость добавления остаётся постоянной при большом количестве операций.
Удаление из конца (removeLast, removeAt
(size - 1)): O(1), постоянное времяВставка или удаление по позиции (add с индексом, removeAt): O(n), линейное время, поскольку элементы после указанной позиции необходимо сдвинуть
Операции поиска (contains, indexOf, lastIndexOf): O(n), линейное время
Перебор: O(n), линейное время
Рекомендации по использованию
Для оптимизации производительности и использования памяти:
Если количество элементов известно заранее, используйте конструктор с начальной ёмкостью, чтобы избежать многократного выделения памяти по мере роста списка.
Перед добавлением большого количества элементов используйте ensureCapacity, чтобы заранее выделить достаточно места.
При добавлении нескольких элементов отдавайте предпочтение addAll, а не многократным отдельным вызовам add.
После добавления всех элементов вызовите trimToSize, чтобы уменьшить потребление памяти, если дальнейший рост списка не ожидается.
Потокобезопасность
ArrayList не является потокобезопасным. Если несколько потоков одновременно обращаются к одному экземпляру и хотя бы один из них изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в списке.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual class ArrayList<E>(initialCapacity: Int) : MutableList<E> , RandomAccess, AbstractMutableList<E>
Реализация MutableList на основе динамического массива.
Этот класс хранит элементы последовательно в памяти, используя внутренний массив, который автоматически увеличивается при необходимости. Он полностью реализует контракт MutableList, предоставляя все стандартные операции со списком, включая доступ по индексу, перебор и изменение. Как реализация RandomAccess, он обеспечивает быстрый доступ к элементам по индексу.
Характеристики производительности
ArrayList обеспечивает эффективную реализацию распространённых операций:
Добавление в конец (add): O(1), постоянное амортизированное время. Когда внутренний массив заполнен, его необходимо изменить, что требует O(n) времени для копирования всех существующих элементов в новый массив большего размера. Однако по мере роста списка такие операции изменения размера выполняются всё реже, поэтому средняя стоимость добавления остаётся постоянной при большом количестве операций.
Удаление из конца (removeLast, removeAt
(size - 1)): O(1), постоянное времяВставка или удаление по позиции (add с индексом, removeAt): O(n), линейное время, поскольку элементы после указанной позиции необходимо сдвинуть
Операции поиска (contains, indexOf, lastIndexOf): O(n), линейное время
Перебор: O(n), линейное время
Рекомендации по использованию
Для оптимизации производительности и использования памяти:
Если количество элементов известно заранее, используйте конструктор с начальной ёмкостью, чтобы избежать многократного выделения памяти по мере роста списка.
Перед добавлением большого количества элементов используйте ensureCapacity, чтобы заранее выделить достаточно места.
При добавлении нескольких элементов отдавайте предпочтение addAll, а не многократным отдельным вызовам add.
После добавления всех элементов вызовите trimToSize, чтобы уменьшить потребление памяти, если дальнейший рост списка не ожидается.
Потокобезопасность
ArrayList не является потокобезопасным. Если несколько потоков одновременно обращаются к одному экземпляру и хотя бы один из них изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в списке.
Конструкторы
Требования к платформе и версии: Common, JS
expect constructor()
Создаёт новый пустой ArrayList.
expect constructor(initialCapacity: Int)
Создаёт новый пустой ArrayList с указанной начальной ёмкостью.
expect constructor(elements: Collection<E>)
Создаёт новый ArrayList, заполненный элементами указанной коллекции.
Требования к платформе и версии: Native, Wasm-JS, Wasm-WASI
actual constructor()
Создаёт новый пустой ArrayList.
actual constructor(initialCapacity: Int)
actual constructor(elements: Collection<E>)
Создаёт новый ArrayList, заполненный элементами указанной коллекции.
Свойства
Требования к платформе и версии: Common (1.0)
val Collection<*>.indices: IntRange
Возвращает IntRange допустимых индексов этой коллекции.
Функции
Требования к платформе и версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun add(element: E): Boolean
Добавляет указанный элемент в конец этого списка.
expect open override fun add(index: Int, element: E)
Вставляет элемент в список по указанному index.
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun addAll(elements: Collection<E>): Boolean
Добавляет все элементы указанной коллекции в конец этого списка.
expect open override fun addAll(index: Int, elements: Collection<E>): Boolean
Требования к платформе и версии: JS (1.1)
actual open override fun addAll(elements: Collection<E>): Boolean
Добавляет все элементы указанной коллекции в эту коллекцию.
actual open override fun addAll(index: Int, elements: Collection<E>): Boolean
Требования к платформе и версии: Common (1.0)
fun <T> MutableCollection<in T>.addAll(elements: Array<out T>): Boolean
Добавляет все элементы указанного массива elements в этот MutableCollection.
fun <T> MutableCollection<in T>.addAll(elements: Iterable<T>): Boolean
Добавляет все элементы указанной коллекции elements в этот MutableCollection.
fun <T> MutableCollection<in T>.addAll(elements: Sequence<T>): Boolean
Добавляет все элементы указанной последовательности elements в этот MutableCollection.
Требования к платформе и версии: Common (2.4)
fun <T> Iterable<T>.allDistinct(): Boolean
Возвращает true, если все элементы коллекции отличаются друг от друга, то есть никакие два элемента не равны.
Требования к платформе и версии: JS (2.0)
open override fun asJsArrayView(): JsArray<E>
Возвращает представление с методами JsArray, позволяющими использовать его в JavaScript как обычный массив. Структурные изменения базового списка синхронизируются с представлением и наоборот.
Требования к платформе и версии: JS (2.0)
open fun asJsReadonlyArrayView(): JsReadonlyArray<E>
Возвращает представление с методами JsReadonlyArray, позволяющими использовать его в JavaScript как обычный массив только для чтения. Структурные изменения базового списка синхронизируются с представлением.
Требования к платформе и версии: Common (1.0)
fun <T> List<T>.asReversed(): List<T>
Возвращает перевернутое представление исходного List только для чтения. Все изменения исходного списка отражаются в перевернутом представлении.
fun <T> MutableList<T>.asReversed(): MutableList<T>
Возвращает перевернутое изменяемое представление исходного изменяемого List. Все изменения исходного списка отражаются в перевернутом представлении и наоборот.
Требования к платформе и версии: Common (1.0)
inline fun <T, K> Iterable<T>.associateBy(keySelector: (T) -> K): Map<K, T>
Возвращает Map, содержащую элементы указанной коллекции, индексированные по ключу, возвращаемому функцией keySelector, примененной к каждому элементу.
inline fun <T, K, V> Iterable<T>.associateBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, V>
Возвращает Map, содержащую значения, предоставленные функцией valueTransform, и индексированные функцией keySelector, примененными к элементам указанной коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T, K, M : MutableMap<in K, in T>> Iterable<T>.associateByTo(destination: M, keySelector: (T) -> K): M
Заполняет и возвращает изменяемую карту destination парами ключ-значение, где ключ предоставляется функцией keySelector, примененной к каждому элементу указанной коллекции, а значение — сам элемент.
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateByTo(destination: M, keySelector: (T) -> K, valueTransform: (T) -> V): M
Заполняет и возвращает изменяемую карту destination парами ключ-значение, где ключ предоставляется функцией keySelector, а значение — функцией valueTransform, примененной к элементам указанной коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo(destination: M, transform: (T) -> Pair<K, V>): M
Заполняет и возвращает изменяемую карту destination парами ключ-значение, предоставленными функцией transform, примененной к каждому элементу указанной коллекции.
Требования к платформе и версии: Common (1.3)
inline fun <K, V, M : MutableMap<in K, in V>> Iterable<K>.associateWithTo(destination: M, valueSelector: (K) -> V): M
Заполняет и возвращает изменяемую карту destination парами ключ-значение для каждого элемента указанной коллекции: ключом является сам элемент, а значение предоставляется функцией valueSelector, примененной к этому ключу.
Требования к платформе и версии: Common (1.0)
fun Iterable<Byte>.average(): Double
fun Iterable<Double>.average(): Double
fun Iterable<Float>.average(): Double
fun Iterable<Int>.average(): Double
fun Iterable<Long>.average(): Double
fun Iterable<Short>.average(): Double
Возвращает среднее значение элементов коллекции.
Требования к платформе и версии: Common (1.0)
fun <T> List<T>.binarySearch(fromIndex: Int = 0, toIndex: Int = size, comparison: (T) -> Int): Int
Выполняет бинарный поиск в этом списке или его диапазоне элемента, для которого заданная функция comparison возвращает ноль.
fun <T : Comparable<T>> List<T?>.binarySearch(element: T?, fromIndex: Int = 0, toIndex: Int = size): Int
Выполняет бинарный поиск в этом списке или его диапазоне заданного element. Предполагается, что список отсортирован по возрастанию в соответствии с естественным порядком Comparable его элементов; в противном случае результат не определен.
fun <T> List<T>.binarySearch(element: T, comparator: Comparator<in T>, fromIndex: Int = 0, toIndex: Int = size): Int
Выполняет бинарный поиск в этом списке или его диапазоне заданного element. Предполагается, что список отсортирован по возрастанию в соответствии с указанным comparator; в противном случае результат не определен.
Требования к платформе и версии: Common (1.0)
inline fun <T, K : Comparable<K>> List<T>.binarySearchBy(key: K?, fromIndex: Int = 0, toIndex: Int = size, crossinline selector: (T) -> K?): Int
Выполняет бинарный поиск в этом списке или его диапазоне элемента, ключ которого, возвращаемый указанной функцией selector, равен заданному значению key. Предполагается, что список отсортирован по возрастанию в соответствии с естественным порядком Comparable ключей его элементов; в противном случае результат не определен.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> List<T>.component1(): T
Возвращает 1-й элемент списка.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> List<T>.component2(): T
Возвращает 2-й элемент списка.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> List<T>.component3(): T
Возвращает 3-й элемент списка.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> List<T>.component4(): T
Возвращает 4-й элемент списка.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> List<T>.component5(): T
Возвращает 5-й элемент списка.
Требования к платформе и версии: Common (1.0)
expect open operator override fun contains(element: E): Boolean
Проверяет, содержится ли указанный элемент в этой коллекции.
Требования к платформе и версии: JS (1.1)
actual open operator override fun contains(element: E): Boolean
Проверяет, содержится ли указанный элемент в этой коллекции.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual open operator override fun contains(element: E): Boolean
Проверяет, содержится ли указанный элемент в этой коллекции.
Требования к платформе и версии: Common (1.0)
expect open override fun containsAll(elements: Collection<E>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: JS (1.1)
open override fun containsAll(elements: Collection<E>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual open override fun containsAll(elements: Collection<E>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>.containsAll(elements: Collection<T>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>.count(): Int
fun <T> Iterable<T>.count(): Int
Возвращает количество элементов в этой коллекции.
inline fun <T> Iterable<T>.count(predicate: (T) -> Boolean): Int
Возвращает количество элементов, соответствующих заданному predicate.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.elementAt(index: Int): T
Возвращает элемент по заданному index или выбрасывает исключение IndexOutOfBoundsException, если index выходит за границы этой коллекции.
inline fun <T> List<T>.elementAt(index: Int): T
Возвращает элемент по заданному index или выбрасывает исключение IndexOutOfBoundsException, если index выходит за границы этого списка.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.elementAtOrElse(index: Int, defaultValue: (Int) -> T): T
Возвращает элемент по заданному index или результат вызова функции defaultValue, если index выходит за границы этой коллекции.
inline fun <T> List<T>.elementAtOrElse(index: Int, defaultValue: (Int) -> T): T
Возвращает элемент по заданному index или результат вызова функции defaultValue, если index выходит за границы этого списка.
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun ensureCapacity(minCapacity: Int)
Гарантирует, что вместимость этого списка будет не меньше указанного значения minCapacity.
Требования к платформе и версии: JS (1.1)
actual fun ensureCapacity(minCapacity: Int)
Ничего не делает в этой реализации ArrayList.
Требования к платформе и версии: JS (1.1)
open operator override fun equals(other: Any?): Boolean
Проверяет, являются ли два указанных списка структурно равными.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
open operator override fun equals(other: Any?): Boolean
Указывает, является ли другой объект «равным» этому объекту.
Требования к платформе и версии: Common (1.2), JS (1.2), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun <T> MutableList<T>.fill(value: T)
Заполняет список указанным значением.
Требования к платформе и версии: JVM (1.2)
actual inline fun <T> MutableList<T>.fill(value: T)
Заполняет список указанным значением.
Требования к платформе и версии: Common (1.0)
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterIndexedTo(destination: C, predicate: (index: Int, T) -> Boolean): C
Добавляет все элементы, соответствующие заданному предикату, в указанное назначение.
Требования к платформе и версии: Common (1.0)
inline fun <R> Iterable<*>.filterIsInstance(): List<R>
Возвращает список, содержащий все элементы, являющиеся экземплярами указанного параметра типа R.
Требования к платформе и версии: JVM (1.0)
fun <R> Iterable<*>.filterIsInstance(klass: Class<R>): List<R>
Возвращает список, содержащий все элементы, являющиеся экземплярами указанного класса.
Требования к платформе и версии: Common (1.0)
inline fun <R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(destination: C): C
Добавляет все элементы, являющиеся экземплярами указанного параметра типа R, в указанное назначение.
Требования к платформе и версии: JVM (1.0)
fun <C : MutableCollection<in R>, R> Iterable<*>.filterIsInstanceTo(destination: C, klass: Class<R>): C
Добавляет все элементы, являющиеся экземплярами указанного класса, в указанное назначение.
Требования к платформе и версии: Common (1.0)
fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(destination: C): C
Добавляет все элементы, которые не являются null, в указанное назначение.
Требования к платформе и версии: Common (1.0)
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterNotTo(destination: C, predicate: (T) -> Boolean): C
Добавляет все элементы, не соответствующие заданному предикату, в указанное назначение.
Требования к платформе и версии: Common (1.5)
inline fun <T, R : Any> Iterable<T>.firstNotNullOf(transform: (T) -> R?): R
Возвращает первое ненулевое значение, полученное функцией transform, применённой к элементам этой коллекции в порядке итерации, или выбрасывает NoSuchElementException, если ненулевое значение не было получено.
Требования к платформе и версии: Common (1.5)
inline fun <T, R : Any> Iterable<T>.firstNotNullOfOrNull(transform: (T) -> R?): R?
Возвращает первое ненулевое значение, полученное функцией transform, применённой к элементам этой коллекции в порядке итерации, или null, если ненулевое значение не было получено.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.firstOrNull(): T?
Возвращает первый элемент или null, если коллекция пуста.
fun <T> List<T>.firstOrNull(): T?
Возвращает первый элемент или null, если список пуст.
inline fun <T> Iterable<T>.firstOrNull(predicate: (T) -> Boolean): T?
Возвращает первый элемент, соответствующий заданному предикату, или null, если элемент не найден.
Требования к платформе и версии: Common (1.0)
inline fun <T, R> Iterable<T>.flatMap(transform: (T) -> Iterable<R>): List<R>
Возвращает единый список всех элементов, полученных из результатов вызова функции transform для каждого элемента исходной коллекции.
inline fun <T, R> Iterable<T>.flatMap(transform: (T) -> Sequence<R>): List<R>
Возвращает единый список всех элементов, полученных из результатов вызова функции transform для каждого элемента исходной коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <T, R> Iterable<T>.flatMapIndexed(transform: (index: Int, T) -> Iterable<R>): List<R>
inline fun <T, R> Iterable<T>.flatMapIndexed(transform: (index: Int, T) -> Sequence<R>): List<R>
Возвращает единый список всех элементов, полученных из результатов вызова функции transform для каждого элемента и его индекса в исходной коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Iterable<R>): C
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Sequence<R>): C
Добавляет все элементы, полученные из результатов вызова функции transform для каждого элемента и его индекса в исходной коллекции, в указанное назначение.
Требования к платформе и версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C
Добавляет все элементы, полученные из результатов вызова функции transform для каждого элемента исходной коллекции, в указанное назначение.
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Sequence<R>): C
Добавляет все элементы, полученные из результатов вызова функции transform для каждого элемента исходной коллекции, в указанное назначение.
Требования к платформе и версии: Common (1.0)
inline fun <T, R> Iterable<T>.foldIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): R
Накапливает значение, начиная с начального значения и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T, R> List<T>.foldRightIndexed(initial: R, operation: (index: Int, T, acc: R) -> R): R
Накапливает значение, начиная с начального значения и применяя операцию справа налево к каждому элементу с его индексом в исходном списке и текущему значению аккумулятора.
Требования к платформе и версии: Common (1.0)
inline fun <T, K> Iterable<T>.groupBy(keySelector: (T) -> K): Map<K, List<T>>
Группирует элементы исходной коллекции по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и возвращает карту, в которой каждому ключу группы соответствует список элементов.
inline fun <T, K, V> Iterable<T>.groupBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, List<V>>
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной коллекции, по ключу, возвращаемому функцией keySelector, применённой к элементу, и возвращает карту, в которой каждому ключу группы соответствует список значений.
Требования к платформе и версии: Common (1.0)
inline fun <T, K, M : MutableMap<in K, MutableList<T>>> Iterable<T>.groupByTo(destination: M, keySelector: (T) -> K): M
Группирует элементы исходной коллекции по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и помещает в карту назначения каждый ключ группы со списком соответствующих элементов.
inline fun <T, K, V, M : MutableMap<in K, MutableList<V>>> Iterable<T>.groupByTo(destination: M, keySelector: (T) -> K, valueTransform: (T) -> V): M
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной коллекции, по ключу, возвращаемому функцией keySelector, применённой к элементу, и помещает в карту назначения каждый ключ группы со списком соответствующих значений.
Требования к платформе и версии: Common (1.1)
inline fun <T, K> Iterable<T>.groupingBy(crossinline keySelector: (T) -> K): Grouping<T, K>
Создаёт источник Grouping на основе коллекции для последующего использования с одной из операций group-and-fold, применяя указанную функцию keySelector для извлечения ключа из каждого элемента.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.indexOf(element: T): Int
Возвращает индекс первого вхождения элемента или -1, если коллекция не содержит этот элемент.
fun <T> List<T>.indexOf(element: T): Int
Возвращает индекс первого вхождения элемента или -1, если список не содержит этот элемент.
Требования к платформе и версии: Common (1.0)
inline fun <T> Iterable<T>.indexOfFirst(predicate: (T) -> Boolean): Int
Возвращает индекс первого элемента, соответствующего заданному предикату, или -1, если коллекция не содержит такого элемента.
inline fun <T> List<T>.indexOfFirst(predicate: (T) -> Boolean): Int
Возвращает индекс первого элемента, соответствующего заданному предикату, или -1, если список не содержит такого элемента.
Требования к платформе и версии: Common (1.0)
inline fun <T> Iterable<T>.indexOfLast(predicate: (T) -> Boolean): Int
Возвращает индекс последнего элемента, соответствующего заданному предикату, или -1, если коллекция не содержит такого элемента.
inline fun <T> List<T>.indexOfLast(predicate: (T) -> Boolean): Int
Возвращает индекс последнего элемента, соответствующего заданному предикату, или -1, если список не содержит такого элемента.
Платформа и требования к версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun isEmpty(): Boolean
Возвращает true, если коллекция пуста (не содержит элементов), и false в противном случае.
Платформа и требования к версии: JS (1.1)
open override fun isEmpty(): Boolean
Возвращает true, если коллекция пуста (не содержит элементов), и false в противном случае.
Платформа и требования к версии: Common (1.0)
inline fun <T> Collection<T>.isNotEmpty(): Boolean
Возвращает true, если коллекция не пуста.
Платформа и требования к версии: Common (1.3)
inline fun <T> Collection<T>?.isNullOrEmpty(): Boolean
Возвращает true, если эта nullable-коллекция равна null или пуста.
Платформа и требования к версии: Common (2.4)
inline fun <T, R : Comparable<R>> Iterable<T>.isSortedBy(selector: (T) -> R?): Boolean
Платформа и требования к версии: Common (2.4)
inline fun <T, R : Comparable<R>> Iterable<T>.isSortedByDescending(selector: (T) -> R?): Boolean
Платформа и требования к версии: Common (2.4)
fun <T : Comparable<T>> Iterable<T>.isSortedDescending(): Boolean
Возвращает true, если каждый элемент коллекции больше или равен следующему элементу согласно их естественному порядку сортировки.
Платформа и требования к версии: Common (2.4)
fun <T> Iterable<T>.isSortedWith(comparator: Comparator<in T>): Boolean
Возвращает true, если каждый элемент коллекции меньше или равен следующему элементу согласно указанному компаратору.
Платформа и требования к версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open operator override fun iterator(): MutableIterator<E>
Возвращает итератор элементов этого объекта.
Платформа и требования к версии: JS (1.1)
actual open operator override fun iterator(): MutableIterator<E>
Возвращает итератор элементов этого объекта.
Платформа и требования к версии: Common (1.0)
fun <T, A : Appendable> Iterable<T>.joinTo(buffer: A, separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): A
Добавляет строки всех элементов, разделяя их с помощью разделителя и используя указанные префикс и суффикс, если они заданы.
Платформа и требования к версии: Common (1.0)
fun <T> Iterable<T>.joinToString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): String
Создает строку из всех элементов, разделяя их с помощью разделителя и используя указанные префикс и суффикс, если они заданы.
Платформа и требования к версии: Common (1.0)
fun <T> Iterable<T>.last(): T
fun <T> List<T>.last(): T
Возвращает последний элемент.
inline fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T
inline fun <T> List<T>.last(predicate: (T) -> Boolean): T
Возвращает последний элемент, соответствующий заданному предикату.
Платформа и требования к версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun lastIndexOf(element: E): Int
Возвращает индекс последнего вхождения указанного элемента в списке или -1, если указанный элемент отсутствует в списке.
Платформа и требования к версии: Common (1.0)
fun <T> Iterable<T>.lastIndexOf(element: T): Int
Возвращает индекс последнего вхождения элемента или -1, если коллекция не содержит этот элемент.
fun <T> List<T>.lastIndexOf(element: T): Int
Возвращает индекс последнего вхождения элемента или -1, если список не содержит этот элемент.
Платформа и требования к версии: Common (1.0)
fun <T> Iterable<T>.lastOrNull(): T?
Возвращает последний элемент или null, если коллекция пуста.
fun <T> List<T>.lastOrNull(): T?
Возвращает последний элемент или null, если список пуст.
inline fun <T> Iterable<T>.lastOrNull(predicate: (T) -> Boolean): T?
inline fun <T> List<T>.lastOrNull(predicate: (T) -> Boolean): T?
Возвращает последний элемент, соответствующий заданному предикату, или null, если такой элемент не найден.
Платформа и требования к версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun listIterator(): MutableListIterator<E>
Возвращает итератор списка для элементов этого списка (в надлежащем порядке).
expect open override fun listIterator(index: Int): MutableListIterator<E>
Возвращает итератор списка для элементов этого списка (в надлежащем порядке), начиная с указанного индекса.
Платформа и требования к версии: JS (1.1)
actual open override fun listIterator(): MutableListIterator<E>
Возвращает итератор списка для элементов этого списка (в надлежащем порядке).
actual open override fun listIterator(index: Int): MutableListIterator<E>
Возвращает итератор списка для элементов этого списка (в надлежащем порядке), начиная с указанного индекса.
Платформа и требования к версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapIndexedNotNullTo(destination: C, transform: (index: Int, T) -> R?): C
Применяет заданную функцию преобразования к каждому элементу исходной коллекции и его индексу и добавляет только ненулевые результаты в указанную коллекцию назначения.
Платформа и требования к версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapIndexedTo(destination: C, transform: (index: Int, T) -> R): C
Применяет заданную функцию преобразования к каждому элементу исходной коллекции и его индексу и добавляет результаты в указанную коллекцию назначения.
Платформа и требования к версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapNotNullTo(destination: C, transform: (T) -> R?): C
Применяет заданную функцию преобразования к каждому элементу исходной коллекции и добавляет только ненулевые результаты в указанную коллекцию назначения.
Платформа и требования к версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo(destination: C, transform: (T) -> R): C
Применяет заданную функцию преобразования к каждому элементу исходной коллекции и добавляет результаты в указанную коллекцию назначения.
Платформа и требования к версии: Common (1.7)
fun <T : Comparable<T>> Iterable<T>.max(): T
fun Iterable<Double>.max(): Double
fun Iterable<Float>.max(): Float
Возвращает наибольший элемент.
Платформа и требования к версии: JVM (1.0)
fun <T : Comparable<T>> Iterable<T>.max(): T?
fun Iterable<Double>.max(): Double?
fun Iterable<Float>.max(): Float?
Платформа и требования к версии: Common (1.7)
inline fun <T, R : Comparable<R>> Iterable<T>.maxBy(selector: (T) -> R): T
Возвращает первый элемент, для которого заданная функция селектора возвращает наибольшее значение.
Платформа и требования к версии: JVM (1.0)
inline fun <T, R : Comparable<R>> Iterable<T>.maxBy(selector: (T) -> R): T?
Платформа и требования к версии: Common (1.4)
inline fun <T, R : Comparable<R>> Iterable<T>.maxOf(selector: (T) -> R): R
inline fun <T> Iterable<T>.maxOf(selector: (T) -> Double): Double
inline fun <T> Iterable<T>.maxOf(selector: (T) -> Float): Float
Возвращает наибольшее значение среди значений, полученных при применении функции селектора к каждому элементу коллекции.
Платформа и требования к версии: Common (1.4)
inline fun <T, R : Comparable<R>> Iterable<T>.maxOfOrNull(selector: (T) -> R): R?
inline fun <T> Iterable<T>.maxOfOrNull(selector: (T) -> Double): Double?
inline fun <T> Iterable<T>.maxOfOrNull(selector: (T) -> Float): Float?
Возвращает наибольшее значение среди значений, полученных при применении функции селектора к каждому элементу коллекции, или null, если коллекция пуста.
Платформа и требования к версии: Common (1.4)
inline fun <T, R> Iterable<T>.maxOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?
Возвращает наибольшее значение согласно заданному компаратору среди значений, полученных при применении функции селектора к каждому элементу коллекции, или null, если коллекция пуста.
Платформа и требования к версии: Common (1.7)
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T
Возвращает первый элемент с наибольшим значением согласно заданному компаратору.
Платформа и требования к версии: JVM (1.0)
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T?
Платформа и требования к версии: Common (1.4)
fun <T> Iterable<T>.maxWithOrNull(comparator: Comparator<in T>): T?
Возвращает первый элемент с наибольшим значением согласно заданному компаратору или null, если элементов нет.
Платформа и требования к версии: Common (1.7)
fun <T : Comparable<T>> Iterable<T>.min(): T
fun Iterable<Double>.min(): Double
fun Iterable<Float>.min(): Float
Возвращает наименьший элемент.
Платформа и требования к версии: JVM (1.0)
fun <T : Comparable<T>> Iterable<T>.min(): T?
fun Iterable<Double>.min(): Double?
fun Iterable<Float>.min(): Float?
Платформа и требования к версии: Common (1.7)
inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T
Возвращает первый элемент, для которого заданная функция селектора возвращает наименьшее значение.
Платформа и требования к версии: JVM (1.0)
inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T?
Платформа и требования к версии: Common (1.4)
inline fun <T, R : Comparable<R>> Iterable<T>.minOf(selector: (T) -> R): R
inline fun <T> Iterable<T>.minOf(selector: (T) -> Double): Double
inline fun <T> Iterable<T>.minOf(selector: (T) -> Float): Float
Возвращает наименьшее значение среди значений, полученных при применении функции селектора к каждому элементу коллекции.
Платформа и требования к версии: Common (1.4)
inline fun <T, R : Comparable<R>> Iterable<T>.minOfOrNull(selector: (T) -> R): R?
inline fun <T> Iterable<T>.minOfOrNull(selector: (T) -> Double): Double?
inline fun <T> Iterable<T>.minOfOrNull(selector: (T) -> Float): Float?
Возвращает наименьшее значение среди значений, полученных при применении функции селектора к каждому элементу коллекции, или null, если коллекция пуста.
Платформа и требования к версии: Common (1.4)
inline fun <T, R> Iterable<T>.minOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?
Возвращает наименьшее значение согласно заданному компаратору среди значений, полученных при применении функции селектора к каждому элементу коллекции, или null, если коллекция пуста.
Платформа и требования к версии: Common (1.0)
operator fun <T> Iterable<T>.minus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме первого вхождения заданного элемента.
operator fun <T> Iterable<T>.minus(elements: Array<out T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, входящих в заданный массив элементов.
operator fun <T> Iterable<T>.minus(elements: Iterable<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, входящих в заданную коллекцию элементов.
operator fun <T> Iterable<T>.minus(elements: Sequence<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, входящих в заданную последовательность элементов.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> MutableCollection<in T>.minusAssign(element: T)
Удаляет один экземпляр указанного элемента из этой изменяемой коллекции.
inline operator fun <T> MutableCollection<in T>.minusAssign(elements: Array<T>)
Удаляет из этой изменяемой коллекции все элементы, содержащиеся в указанном массиве элементов.
inline operator fun <T> MutableCollection<in T>.minusAssign(elements: Iterable<T>)
Удаляет из этой изменяемой коллекции все элементы, содержащиеся в указанной коллекции элементов.
inline operator fun <T> MutableCollection<in T>.minusAssign(elements: Sequence<T>)
Удаляет из этой изменяемой коллекции все элементы, содержащиеся в указанной последовательности элементов.
Требования к платформе и версии: Common (1.7)
fun <T> Iterable<T>.minWith(comparator: Comparator<in T>): T
Возвращает первый элемент с наименьшим значением согласно заданному компаратору.
Требования к платформе и версии: JVM (1.0)
fun <T> Iterable<T>.minWith(comparator: Comparator<in T>): T?
Требования к платформе и версии: Common (1.4)
fun <T> Iterable<T>.minWithOrNull(comparator: Comparator<in T>): T?
Возвращает первый элемент с наименьшим значением согласно заданному компаратору или null, если элементов нет.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>?.orEmpty(): Collection<T>
Возвращает эту коллекцию, если она не null, а в противном случае — пустой список.
inline fun <T> List<T>?.orEmpty(): List<T>
Возвращает этот список, если он не null, а в противном случае — пустой список.
Требования к платформе и версии: Common (1.0)
operator fun <T> Collection<T>.plus(element: T): List<T>
operator fun <T> Iterable<T>.plus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем указанный элемент.
operator fun <T> Collection<T>.plus(elements: Array<out T>): List<T>
operator fun <T> Iterable<T>.plus(elements: Array<out T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы указанного массива элементов.
operator fun <T> Collection<T>.plus(elements: Iterable<T>): List<T>
operator fun <T> Iterable<T>.plus(elements: Iterable<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы указанной коллекции элементов.
operator fun <T> Collection<T>.plus(elements: Sequence<T>): List<T>
operator fun <T> Iterable<T>.plus(elements: Sequence<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы указанной последовательности элементов.
Требования к платформе и версии: Common (1.0)
inline operator fun <T> MutableCollection<in T>.plusAssign(element: T)
Добавляет указанный элемент в эту изменяемую коллекцию.
inline operator fun <T> MutableCollection<in T>.plusAssign(elements: Array<T>)
Добавляет все элементы указанного массива элементов в эту изменяемую коллекцию.
inline operator fun <T> MutableCollection<in T>.plusAssign(elements: Iterable<T>)
Добавляет все элементы указанной коллекции элементов в эту изменяемую коллекцию.
inline operator fun <T> MutableCollection<in T>.plusAssign(elements: Sequence<T>)
Добавляет все элементы указанной последовательности элементов в эту изменяемую коллекцию.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>.plusElement(element: T): List<T>
inline fun <T> Iterable<T>.plusElement(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем указанный элемент.
Требования к платформе и версии: Common (1.4)
inline fun <T> Collection<T>.randomOrNull(): T?
Возвращает случайный элемент из этой коллекции или null, если коллекция пуста.
fun <T> Collection<T>.randomOrNull(random: Random): T?
Возвращает случайный элемент из этой коллекции, используя указанный источник случайности, или null, если коллекция пуста.
Требования к платформе и версии: Common (1.0)
inline fun <S, T : S> Iterable<T>.reduceIndexed(operation: (index: Int, acc: S, T) -> S): S
Накопительно вычисляет значение, начиная с первого элемента и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <S, T : S> Iterable<T>.reduceIndexedOrNull(operation: (index: Int, acc: S, T) -> S): S?
Накопительно вычисляет значение, начиная с первого элемента и применяя операцию слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <S, T : S> List<T>.reduceRightIndexed(operation: (index: Int, T, acc: S) -> S): S
Накопительно вычисляет значение, начиная с последнего элемента и применяя операцию справа налево к каждому элементу с его индексом в исходном списке и текущему значению аккумулятора.
Требования к платформе и версии: Common (1.4)
inline fun <S, T : S> List<T>.reduceRightIndexedOrNull(operation: (index: Int, T, acc: S) -> S): S?
Накопительно вычисляет значение, начиная с последнего элемента и применяя операцию справа налево к каждому элементу с его индексом в исходном списке и текущему значению аккумулятора.
Требования к платформе и версии: Common (1.0)
inline fun <T> MutableCollection<out T>.remove(element: T): Boolean
Удаляет один экземпляр указанного элемента из этой коллекции, если он в ней присутствует.
inline fun <T> MutableList<T>.remove(index: Int): T
Удаляет элемент по указанному индексу из этого списка. В Kotlin вместо этого следует использовать функцию MutableList.removeAt.
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun removeAll(elements: Collection<E>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
Требования к платформе и версии: JS (1.1)
actual open override fun removeAll(elements: Collection<E>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
Требования к платформе и версии: Common (1.0)
fun <T> MutableCollection<in T>.removeAll(elements: Array<out T>): Boolean
Удаляет из этой MutableCollection все элементы, которые также содержатся в указанном массиве элементов.
inline fun <T> MutableCollection<out T>.removeAll(elements: Collection<T>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
fun <T> MutableCollection<in T>.removeAll(elements: Iterable<T>): Boolean
Удаляет из этой MutableCollection все элементы, которые также содержатся в указанной коллекции элементов.
fun <T> MutableCollection<in T>.removeAll(elements: Sequence<T>): Boolean
Удаляет из этой MutableCollection все элементы, которые также содержатся в указанной последовательности элементов.
fun <T> MutableIterable<T>.removeAll(predicate: (T) -> Boolean): Boolean
Удаляет из этой MutableIterable все элементы, соответствующие заданному предикату.
fun <T> MutableList<T>.removeAll(predicate: (T) -> Boolean): Boolean
Удаляет из этого MutableList все элементы, соответствующие заданному предикату.
Требования к платформе и версии: Common (1.4)
fun <T> MutableList<T>.removeFirst(): T
Удаляет первый элемент из этого изменяемого списка и возвращает его, либо выбрасывает NoSuchElementException, если список пуст.
Требования к платформе и версии: Common (1.4)
fun <T> MutableList<T>.removeFirstOrNull(): T?
Удаляет первый элемент из этого изменяемого списка и возвращает его либо возвращает null, если список пуст.
Требования к платформе и версии: Common (1.4)
fun <T> MutableList<T>.removeLast(): T
Удаляет последний элемент из этого изменяемого списка и возвращает его, либо выбрасывает NoSuchElementException, если список пуст.
Требования к платформе и версии: Common (1.4)
fun <T> MutableList<T>.removeLastOrNull(): T?
Удаляет последний элемент из этого изменяемого списка и возвращает его либо возвращает null, если список пуст.
Требования к платформе и версии: JS (1.1)
protected open override fun removeRange(fromIndex: Int, toIndex: Int)
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
protected actual open fun removeRange(fromIndex: Int, toIndex: Int)
Требования к платформе и версии: Native (1.3)
actual fun <T> MutableList<T>.replaceAll(transformation: (T) -> T)
Заменяет каждый элемент списка результатом указанного преобразования.
Требования к платформе и версии: Common (1.0)
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>
fun <T : Any> List<T?>.requireNoNulls(): List<T>
Возвращает исходную коллекцию, содержащую все элементы, отличные от null, и выбрасывает IllegalArgumentException, если в ней есть элементы null.
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun retainAll(elements: Collection<E>): Boolean
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.
Требования к платформе и версии: JS (1.1)
actual open override fun retainAll(elements: Collection<E>): Boolean
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.
Требования к платформе и версии: Common (1.0)
fun <T> MutableCollection<in T>.retainAll(elements: Array<out T>): Boolean
Оставляет в этой MutableCollection только элементы, содержащиеся в указанном массиве элементов.
inline fun <T> MutableCollection<out T>.retainAll(elements: Collection<T>): Boolean
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.
fun <T> MutableCollection<in T>.retainAll(elements: Iterable<T>): Boolean
Оставляет в этой MutableCollection только элементы, содержащиеся в указанной коллекции элементов.
fun <T> MutableCollection<in T>.retainAll(elements: Sequence<T>): Boolean
Оставляет в этой MutableCollection только элементы, содержащиеся в указанной последовательности элементов.
fun <T> MutableIterable<T>.retainAll(predicate: (T) -> Boolean): Boolean
Оставляет в этой MutableIterable только элементы, соответствующие заданному предикату.
fun <T> MutableList<T>.retainAll(predicate: (T) -> Boolean): Boolean
Оставляет в этом MutableList только элементы, соответствующие заданному предикату.
Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun <T> MutableList<T>.reverse()
Изменяет порядок элементов списка на обратный на месте.
Требования к платформе и версии: Common (1.4)
inline fun <S, T : S> Iterable<T>.runningReduce(operation: (acc: S, T) -> S): List<S>
Возвращает список, содержащий последовательные накопленные значения, полученные применением операции слева направо к каждому элементу и текущему значению аккумулятора, которое начинается с первого элемента этой коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <S, T : S> Iterable<T>.runningReduceIndexed(operation: (index: Int, acc: S, T) -> S): List<S>
Возвращает список, содержащий последовательные значения накопления, полученные применением operation слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается с первого элемента этой коллекции.
Требования к платформе и версии: Common (1.2)
expect fun <T> MutableList<T>.shuffle()
Случайным образом перемешивает элементы этого списка на месте.
fun <T> MutableList<T>.shuffle(random: Random)
Случайным образом перемешивает элементы этого списка на месте, используя указанный экземпляр random в качестве источника случайности.
Требования к платформе и версии: JS (1.2), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual fun <T> MutableList<T>.shuffle()
Случайным образом перемешивает элементы этого списка на месте.
Требования к платформе и версии: JVM (1.2)
actual inline fun <T> MutableList<T>.shuffle()
Случайным образом перемешивает элементы этого изменяемого списка.
inline fun <T> MutableList<T>.shuffle(random: Random)
Случайным образом перемешивает элементы этого изменяемого списка, используя указанный экземпляр random в качестве источника случайности.
Требования к платформе и версии: Common (1.2)
expect fun <T> Iterable<T>.shuffled(): List<T>
Возвращает новый список со случайным образом перемешанными элементами этой коллекции.
fun <T> Iterable<T>.shuffled(random: Random): List<T>
Возвращает новый список со случайным образом перемешанными элементами этого списка, используя указанный экземпляр random в качестве источника случайности.
Требования к платформе и версии: JS (1.2), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual fun <T> Iterable<T>.shuffled(): List<T>
Возвращает новый список со случайным образом перемешанными элементами этой коллекции.
Требования к платформе и версии: JVM (1.2)
actual fun <T> Iterable<T>.shuffled(): List<T>
Возвращает новый список со случайным образом перемешанными элементами этой коллекции.
fun <T> Iterable<T>.shuffled(random: Random): List<T>
Возвращает новый список со случайным образом перемешанными элементами этого списка, используя указанный экземпляр random в качестве источника случайности.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.single(): T
Возвращает единственный элемент или выбрасывает исключение, если коллекция пуста или содержит более одного элемента.
fun <T> List<T>.single(): T
Возвращает единственный элемент или выбрасывает исключение, если список пуст или содержит более одного элемента.
inline fun <T> Iterable<T>.single(predicate: (T) -> Boolean): T
Возвращает единственный элемент, соответствующий заданному predicate, или выбрасывает исключение, если соответствующих элементов нет или их больше одного.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.singleOrNull(): T?
Возвращает единственный элемент или null, если коллекция пуста или содержит более одного элемента.
fun <T> List<T>.singleOrNull(): T?
Возвращает единственный элемент или null, если список пуст или содержит более одного элемента.
inline fun <T> Iterable<T>.singleOrNull(predicate: (T) -> Boolean): T?
Возвращает единственный элемент, соответствующий заданному predicate, или null, если элемент не найден или найдено более одного элемента.
Требования к платформе и версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun <T : Comparable<T>> MutableList<T>.sort()
Сортирует элементы списка на месте в соответствии с их естественным порядком сортировки.
Требования к платформе и версии: JVM (1.0)
actual fun <T : Comparable<T>> MutableList<T>.sort()
Сортирует элементы списка на месте в соответствии с их естественным порядком сортировки.
inline fun <T> MutableList<T>.sort(comparator: Comparator<in T>)
inline fun <T> MutableList<T>.sort(comparison: (T, T) -> Int)
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Comparable<R>> MutableList<T>.sortByDescending(crossinline selector: (T) -> R?)
Сортирует элементы списка на месте в порядке убывания в соответствии с естественным порядком сортировки значений, возвращаемых указанной функцией selector.
Требования к платформе и версии: Common (1.0)
fun <T : Comparable<T>> MutableList<T>.sortDescending()
Сортирует элементы списка на месте в порядке убывания в соответствии с их естественным порядком сортировки.
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending(crossinline selector: (T) -> R?): List<T>
Возвращает список всех элементов, отсортированных по убыванию в соответствии с естественным порядком сортировки значений, возвращаемых указанной функцией selector.
Требования к платформе и версии: Common (1.0)
fun <T : Comparable<T>> Iterable<T>.sortedDescending(): List<T>
Возвращает список всех элементов, отсортированных по убыванию в соответствии с их естественным порядком сортировки.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.sortedWith(comparator: Comparator<in T>): List<T>
Возвращает список всех элементов, отсортированных в соответствии с указанным comparator.
Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)
Сортирует элементы списка на месте в соответствии с порядком, заданным с помощью comparator.
Требования к платформе и версии: Common (1.0)
expect open override fun subList(fromIndex: Int, toIndex: Int): MutableList<E>
Возвращает представление части этого списка между указанными fromIndex (включительно) и toIndex (исключительно). Возвращённый список основан на этом списке, поэтому изменения в возвращённом списке отражаются в этом списке, и наоборот.
Требования к платформе и версии: JS (1.1)
actual open override fun subList(fromIndex: Int, toIndex: Int): MutableList<E>
Возвращает представление части этого списка между указанными fromIndex (включительно) и toIndex (исключительно). Возвращённый список основан на этом списке, поэтому изменения в возвращённом списке отражаются в этом списке, и наоборот.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual open override fun subList(fromIndex: Int, toIndex: Int): MutableList<E>
Требования к платформе и версии: Common (1.0)
fun Iterable<Byte>.sum(): Int
fun Iterable<Double>.sum(): Double
fun Iterable<Float>.sum(): Float
fun Iterable<Int>.sum(): Int
fun Iterable<Long>.sum(): Long
fun Iterable<Short>.sum(): Int
Возвращает сумму всех элементов коллекции.
fun Iterable<UByte>.sum(): UInt
fun Iterable<UInt>.sum(): UInt
fun Iterable<ULong>.sum(): ULong
fun Iterable<UShort>.sum(): UInt
Возвращает сумму всех элементов коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <T> Iterable<T>.sumOf(selector: (T) -> Double): Double
inline fun <T> Iterable<T>.sumOf(selector: (T) -> Int): Int
inline fun <T> Iterable<T>.sumOf(selector: (T) -> Long): Long
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.
inline fun <T> Iterable<T>.sumOf(selector: (T) -> UInt): UInt
inline fun <T> Iterable<T>.sumOf(selector: (T) -> ULong): ULong
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.
Требования к платформе и версии: JVM (1.4)
inline fun <T> Iterable<T>.sumOf(selector: (T) -> BigDecimal): BigDecimal
inline fun <T> Iterable<T>.sumOf(selector: (T) -> BigInteger): BigInteger
Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.
Требования к платформе и версии: JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
protected open override fun toArray(): Array<Any?>
Возвращает новый массив типа Array<Any?> с элементами этой коллекции.
protected open override fun <T> toArray(array: Array<T>): Array<T>
Заполняет предоставленный array или создаёт новый массив того же типа и заполняет его элементами этой коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Boolean>.toBooleanArray(): BooleanArray
Возвращает массив Boolean, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Byte>.toByteArray(): ByteArray
Возвращает массив Byte, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Char>.toCharArray(): CharArray
Возвращает массив Char, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun <T, C : MutableCollection<in T>> Iterable<T>.toCollection(destination: C): C
Добавляет все элементы в указанную коллекцию destination.
Требования к платформе и версии: Native (1.3)
fun List<String>.toCStringArray(autofreeScope: AutofreeScope): CPointer<CPointerVar<ByteVar>>
Преобразует этот список строк Kotlin в массив C-строк, выделяя память для массива и C-строк с помощью указанного AutofreeScope.
Требования к платформе и версии: Common (1.0)
fun Collection<Double>.toDoubleArray(): DoubleArray
Возвращает массив Double, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Float>.toFloatArray(): FloatArray
Возвращает массив Float, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Int>.toIntArray(): IntArray
Возвращает массив Int, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Long>.toLongArray(): LongArray
Возвращает массив Long, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V>
Возвращает новую карту, содержащую все пары «ключ-значение» из заданной коллекции пар.
fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap(destination: M): M
Заполняет изменяемую карту назначения парами «ключ-значение» из заданной коллекции пар и возвращает её.
Требования к платформе и версии: Common (1.0)
fun <T> Collection<T>.toMutableList(): MutableList<T>
fun <T> Iterable<T>.toMutableList(): MutableList<T>
Возвращает новый MutableList, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.toMutableSet(): MutableSet<T>
Возвращает новый MutableSet, содержащий все уникальные элементы заданной коллекции.
Требования к платформе и версии: Common (1.0)
fun Collection<Short>.toShortArray(): ShortArray
Возвращает массив Short, содержащий все элементы этой коллекции.
Требования к платформе и версии: JVM (1.0)
fun <T : Comparable<T>> Iterable<T>.toSortedSet(): SortedSet<T>
fun <T> Iterable<T>.toSortedSet(comparator: Comparator<in T>): SortedSet<T>
Возвращает новый SortedSet со всеми элементами.
Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect inline fun <T> Collection<T>.toTypedArray(): Array<T>
Возвращает типизированный массив, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.3)
fun Collection<UByte>.toUByteArray(): UByteArray
Возвращает массив UByte, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.3)
fun Collection<UInt>.toUIntArray(): UIntArray
Возвращает массив UInt, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.3)
fun Collection<ULong>.toULongArray(): ULongArray
Возвращает массив ULong, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.3)
fun Collection<UShort>.toUShortArray(): UShortArray
Возвращает массив UShort, содержащий все элементы этой коллекции.
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun trimToSize()
Пытается уменьшить объём памяти, используемой этим списком.
Требования к платформе и версии: JS (1.1)
actual fun trimToSize()
В этой реализации ArrayList ничего не делает.
Требования к платформе и версии: Native (1.3)
fun <T> Collection<Future<T>>.waitForMultipleFutures(millis: Int): Set<Future<T>>
Требования к платформе и версии: Common (1.2)
fun <T> Iterable<T>.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false): List<List<T>>
Возвращает список снимков окна заданного size, скользящего по этой коллекции с заданным шагом step; каждый снимок представляет собой список.
fun <T, R> Iterable<T>.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (List<T>) -> R): List<R>
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.withIndex(): Iterable<IndexedValue<T>>
Возвращает ленивую Iterable, которая оборачивает каждый элемент исходной коллекции в IndexedValue, содержащий индекс этого элемента и сам элемент.
Требования к платформе и версии: Common (1.0)
infix fun <T, R> Iterable<T>.zip(other: Array<out R>): List<Pair<T, R>>
Возвращает список пар, сформированных из элементов коллекции this и массива other с одинаковыми индексами. Длина возвращаемого списка равна длине самой короткой коллекции.
infix fun <T, R> Iterable<T>.zip(other: Iterable<R>): List<Pair<T, R>>
Возвращает список пар, сформированных из элементов коллекции this и коллекции other с одинаковыми индексами. Длина возвращаемого списка равна длине самой короткой коллекции.
inline fun <T, R, V> Iterable<T>.zip(other: Array<out R>, transform: (a: T, b: R) -> V): List<V>
Возвращает список значений, сформированных из элементов коллекции this и массива other с одинаковыми индексами с помощью функции transform, применяемой к каждой паре элементов. Длина возвращаемого списка равна длине самой короткой коллекции.
inline fun <T, R, V> Iterable<T>.zip(other: Iterable<R>, transform: (a: T, b: R) -> V): List<V>
Требования к платформе и версии: Common (1.2)
fun <T> Iterable<T>.zipWithNext(): List<Pair<T, T>>
Возвращает список пар, образованных каждой парой соседних элементов этой коллекции.
inline fun <T, R> Iterable<T>.zipWithNext(transform: (a: T, b: T) -> R): List<R>
Возвращает список, содержащий результаты применения заданной функции transform к каждой паре соседних элементов этой коллекции.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-array-list/