Mutable Collection
Платформа и требования к версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect interface MutableCollection<E> : Collection<E> , MutableIterable<E>
Обобщённая коллекция элементов, поддерживающая перебор, добавление и удаление элементов, а также проверку наличия в коллекции определённых элементов. Сложные операции основаны на этой функциональности и предоставляются в виде функций-расширений kotlin.collections.
Если конкретный вариант использования не требует изменения коллекции, вместо неё можно использовать соответствующий интерфейс только для чтения — Collection.
MutableCollection расширяет контракт Collection, добавляя функции, позволяющие добавлять и удалять элементы.
MutableCollection — это интерфейс верхнего уровня для изменяемых объектов, объединяющих множество однотипных элементов. Другие, более специализированные интерфейсы, такие как MutableList, MutableSet и MutableMap, расширяют MutableCollection, чтобы предоставлять более конкретные гарантии относительно хранения, доступа и изменения элементов, а также более широкие возможности.
В отличие от Collection, итератор, возвращаемый функцией iterator, позволяет удалять элементы во время итерации.
Если не указано иное, реализации MutableCollection не являются потокобезопасными, и их изменение без явной синхронизации может привести к повреждению или потере данных и ошибкам времени выполнения.
Параметры типа
тип элементов, содержащихся в коллекции. Изменяемая коллекция инвариантна относительно типа её элементов.
Наследники
Платформа и требования к версии: JVM (1.0)
actual interface MutableCollection<E> : Collection<E> , MutableIterable<E>
Обобщённая коллекция элементов, поддерживающая перебор, добавление и удаление элементов, а также проверку наличия в коллекции определённых элементов. Сложные операции основаны на этой функциональности и предоставляются в виде функций-расширений kotlin.collections.
Если конкретный вариант использования не требует изменения коллекции, вместо неё можно использовать соответствующий интерфейс только для чтения — Collection.
MutableCollection расширяет контракт Collection, добавляя функции, позволяющие добавлять и удалять элементы.
MutableCollection — это интерфейс верхнего уровня для изменяемых объектов, объединяющих множество однотипных элементов. Другие, более специализированные интерфейсы, такие как MutableList, MutableSet и MutableMap, расширяют MutableCollection, чтобы предоставлять более конкретные гарантии относительно хранения, доступа и изменения элементов, а также более широкие возможности.
В отличие от Collection, итератор, возвращаемый функцией iterator, позволяет удалять элементы во время итерации.
Если не указано иное, реализации MutableCollection не являются потокобезопасными, и их изменение без явной синхронизации может привести к повреждению или потере данных и ошибкам времени выполнения.
По соглашению реализации MutableCollection обычно также реализуют интерфейс java.io.Serializable.
Параметры типа
тип элементов, содержащихся в коллекции. Изменяемая коллекция инвариантна относительно типа её элементов.
Наследники
Свойства
Платформа и требования к версии: Common (1.0)
val Collection<*>.indices: IntRange
Возвращает IntRange допустимых индексов этой коллекции.
Функции
Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect abstract fun addAll(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, если все элементы коллекции отличаются друг от друга, то есть никакие два элемента не равны.
Требования к платформе и версии: 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
Заполняет изменяемую map 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
Заполняет изменяемую map 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
Заполняет изменяемую map destination парами ключ-значение, предоставленными функцией transform, примененной к каждому элементу указанной коллекции, и возвращает ее.
Требования к платформе и версии: Common (1.3)
inline fun <K, V, M : MutableMap<in K, in V>> Iterable<K>.associateWithTo(destination: M, valueSelector: (K) -> V): M
Заполняет изменяемую map 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), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect abstract 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
Возвращает количество элементов, соответствующих заданному предикату.
Требования к платформе и версии: 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, если коллекция пуста.
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, 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 из коллекции для последующего использования с одной из операций группировки и свёртки, применяя указанную функцию keySelector для извлечения ключа из каждого элемента.
Требования к платформе и версии: 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
Возвращает true, если значение, возвращаемое селектором для каждого элемента коллекции, меньше или равно значению селектора для следующего элемента согласно естественному порядку сортировки значений селектора.
Требования к платформе и версии: Common (2.4)
inline fun <T, R : Comparable<R>> Iterable<T>.isSortedByDescending(selector: (T) -> R?): Boolean
Возвращает true, если значение, возвращаемое селектором для каждого элемента коллекции, больше или равно значению селектора для следующего элемента согласно естественному порядку сортировки значений селектора.
Требования к платформе и версии: 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), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect abstract 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>.lastOrNull(): T?
Возвращает последний элемент или null, если коллекция пуста.
inline fun <T> Iterable<T>.lastOrNull(predicate: (T) -> Boolean): T?
Возвращает последний элемент, соответствующий заданному предикату, или null, если такой элемент не найден.
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapIndexedNotNullTo(destination: C, transform: (index: Int, T) -> R?): C
Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет только ненулевые результаты в указанную целевую коллекцию.
Требования к платформе и версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapIndexedTo(destination: C, transform: (index: Int, T) -> R): C
Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет результаты в указанную целевую коллекцию.
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapNotNullTo(destination: C, transform: (T) -> R?): C
Применяет заданную функцию transform к каждому элементу исходной коллекции и добавляет только ненулевые результаты в указанную целевую коллекцию.
Требования к платформе и версии: 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
Возвращает первый элемент, для которого функция selector возвращает наибольшее значение.
Требования к платформе и версии: 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
Возвращает наибольшее значение среди всех значений, полученных при применении функции selector к каждому элементу коллекции.
Требования к платформе и версии: 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?
Возвращает наибольшее значение среди всех значений, полученных при применении функции selector к каждому элементу коллекции, или 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, а в противном случае — пустой список.
Платформы и требования к версии: 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), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect abstract fun removeAll(elements: Collection<E>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
Платформы и требования к версии: Common (1.0)
fun <T> MutableCollection<in T>.removeAll(elements: Array<out T>): Boolean
Удаляет из этой изменяемой коллекции все элементы, которые также содержатся в указанном массиве элементов.
inline fun <T> MutableCollection<out T>.removeAll(elements: Collection<T>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
fun <T> MutableCollection<in T>.removeAll(elements: Iterable<T>): Boolean
Удаляет из этой изменяемой коллекции все элементы, которые также содержатся в указанной коллекции элементов.
fun <T> MutableCollection<in T>.removeAll(elements: Sequence<T>): Boolean
Удаляет из этой изменяемой коллекции все элементы, которые также содержатся в указанной последовательности элементов.
fun <T> MutableIterable<T>.removeAll(predicate: (T) -> Boolean): Boolean
Удаляет из этого изменяемого итерируемого объекта все элементы, соответствующие заданному предикату.
Платформы и требования к версии: Common (1.0)
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>
Возвращает исходную коллекцию, содержащую все элементы, отличные от null, и выбрасывает IllegalArgumentException, если в коллекции есть элементы null.
Платформы и требования к версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect abstract fun retainAll(elements: Collection<E>): Boolean
Оставляет в этой коллекции только те элементы, которые содержатся в указанной коллекции.
Платформы и требования к версии: Common (1.0)
fun <T> MutableCollection<in T>.retainAll(elements: Array<out T>): Boolean
Оставляет в этой изменяемой коллекции только элементы, содержащиеся в указанном массиве элементов.
inline fun <T> MutableCollection<out T>.retainAll(elements: Collection<T>): Boolean
Оставляет в этой коллекции только те элементы, которые содержатся в указанной коллекции.
fun <T> MutableCollection<in T>.retainAll(elements: Iterable<T>): Boolean
Оставляет в этой изменяемой коллекции только элементы, содержащиеся в указанной коллекции элементов.
fun <T> MutableCollection<in T>.retainAll(elements: Sequence<T>): Boolean
Оставляет в этой изменяемой коллекции только элементы, содержащиеся в указанной последовательности элементов.
fun <T> MutableIterable<T>.retainAll(predicate: (T) -> Boolean): Boolean
Оставляет в этом изменяемом итерируемом объекте только элементы, соответствующие заданному предикату.
Платформы и требования к версии: Common (1.4)
inline fun <T, R> Iterable<T>.runningFold(initial: R, operation: (acc: R, T) -> R): List<R>
Возвращает список последовательных накопленных значений, полученных путём применения операции слева направо к каждому элементу и текущему значению аккумулятора, которое начинается со значения начального.
Платформы и требования к версии: Common (1.4)
inline fun <T, R> Iterable<T>.runningFoldIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): List<R>
Возвращает список последовательных накопленных значений, полученных путём применения операции слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается со значения начального.
Требования к платформе и версии: Common (1.4)
inline fun <S, T : S> Iterable<T>.runningReduce(operation: (acc: S, T) -> S): List<S>
Возвращает список с последовательными значениями аккумулятора, полученными при применении operation слева направо к каждому элементу и текущему значению аккумулятора, начальным значением которого является первый элемент этой коллекции.
Требования к платформе и версии: 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> 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
Возвращает единственный элемент или выбрасывает исключение, если коллекция пуста или содержит более одного элемента.
inline fun <T> Iterable<T>.single(predicate: (T) -> Boolean): T
Возвращает единственный элемент, соответствующий заданному predicate, или выбрасывает исключение, если соответствующий элемент отсутствует или найдено более одного такого элемента.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.singleOrNull(): T?
Возвращает единственный элемент или null, если коллекция пуста или содержит более одного элемента.
inline fun <T> Iterable<T>.singleOrNull(predicate: (T) -> Boolean): T?
Возвращает единственный элемент, соответствующий заданному predicate, или null, если элемент не найден или найдено более одного элемента.
Требования к платформе и версии: 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)
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 к каждому элементу коллекции.
Требования к платформе и версии: 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.
Требования к платформе и версии: 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
Заполняет изменяемую карту destination парами «ключ-значение» из заданной коллекции пар и возвращает её.
Требования к платформе и версии: 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, содержащий все элементы этой коллекции.
Требования к платформе и версии: 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>
Требования к платформе и версии: Общие (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/-mutable-collection/index.html