Collection
Требования к платформе и версии: Common (1.0)
expect interface Collection<out E> : Iterable<E>
Обобщённая коллекция элементов. Интерфейс позволяет перебирать содержащиеся в ней элементы и проверять, содержится ли что-либо в коллекции. На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.
Функции этого интерфейса поддерживают только доступ к коллекции для чтения; доступ для чтения и записи поддерживается интерфейсом MutableCollection.
Collection — это интерфейс верхнего уровня для объектов, объединяющих несколько различных элементов одного типа. Другие, более специализированные интерфейсы, такие как List, Set и Map, расширяют Collection, чтобы предоставлять более конкретные гарантии относительно хранения и доступа к элементам, а также более широкие возможности.
Реализации Collection могут предоставлять разные гарантии относительно порядка и уникальности содержащихся элементов. Например, элементы в List упорядочены и могут содержать дубликаты, тогда как элементы в Set не могут содержать дубликаты и для них не задан определённый порядок.
Поведение Collection.contains зависит от реализации, но обычно для сравнения элементов на равенство используется Any.equals.
Collection не накладывает никаких требований на функции toString, equals и hashCode, поэтому реализации могут наследовать их поведение по умолчанию. Более специализированные интерфейсы, расширяющие Collection (например, List, Set и Map), могут накладывать более строгие требования.
Параметры типа
тип элементов, содержащихся в коллекции. Коллекция ковариантна по типу элементов.
Наследники
Требования к платформе и версии: JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual interface Collection<out E> : Iterable<E>
Обобщённая коллекция элементов. Интерфейс позволяет перебирать содержащиеся в ней элементы и проверять, содержится ли что-либо в коллекции. На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.
Функции этого интерфейса поддерживают только доступ к коллекции для чтения; доступ для чтения и записи поддерживается интерфейсом MutableCollection.
Collection — это интерфейс верхнего уровня для объектов, объединяющих несколько различных элементов одного типа. Другие, более специализированные интерфейсы, такие как List, Set и Map, расширяют Collection, чтобы предоставлять более конкретные гарантии относительно хранения и доступа к элементам, а также более широкие возможности.
Реализации Collection могут предоставлять разные гарантии относительно порядка и уникальности содержащихся элементов. Например, элементы в List упорядочены и могут содержать дубликаты, тогда как элементы в Set не могут содержать дубликаты и для них не задан определённый порядок.
Поведение Collection.contains зависит от реализации, но обычно для сравнения элементов на равенство используется Any.equals.
Collection не накладывает никаких требований на функции toString, equals и hashCode, поэтому реализации могут наследовать их поведение по умолчанию. Более специализированные интерфейсы, расширяющие Collection (например, List, Set и Map), могут накладывать более строгие требования.
Параметры типа
тип элементов, содержащихся в коллекции. Коллекция ковариантна по типу элементов.
Наследники
Требования к платформе и версии: JVM (1.0)
actual interface Collection<out E> : Iterable<E>
Обобщённая коллекция элементов. Интерфейс позволяет перебирать содержащиеся в ней элементы и проверять, содержится ли что-либо в коллекции. На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.
Функции этого интерфейса поддерживают только доступ к коллекции для чтения; доступ для чтения и записи поддерживается интерфейсом MutableCollection.
Collection — это интерфейс верхнего уровня для объектов, объединяющих несколько различных элементов одного типа. Другие, более специализированные интерфейсы, такие как List, Set и Map, расширяют Collection, чтобы предоставлять более конкретные гарантии относительно хранения и доступа к элементам, а также более широкие возможности.
Реализации Collection могут предоставлять разные гарантии относительно порядка и уникальности содержащихся элементов. Например, элементы в List упорядочены и могут содержать дубликаты, тогда как элементы в Set не могут содержать дубликаты и для них не задан определённый порядок.
Поведение Collection.contains зависит от реализации, но обычно для сравнения элементов на равенство используется Any.equals.
Collection не накладывает никаких требований на функции toString, equals и hashCode, поэтому реализации могут наследовать их поведение по умолчанию. Более специализированные интерфейсы, расширяющие Collection (например, List, Set и Map), могут накладывать более строгие требования.
Согласно принятому соглашению, реализации Collection обычно также реализуют java.io.Serializable.
Параметры типа
тип элементов, содержащихся в коллекции. Коллекция ковариантна по типу элементов.
Наследники
Свойства
Требования к платформе и версии: Common (1.0)
val Collection<*>.indices: IntRange
Возвращает IntRange допустимых индексов этой коллекции.
Функции
Требования к платформе и версии: 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
Заполняет изменяемую карту назначения и возвращает ее. Карта содержит пары ключ-значение, где ключ предоставляется функцией keySelector, примененной к каждому элементу заданной коллекции, а значение представляет собой сам элемент.
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateByTo(destination: M, keySelector: (T) -> K, valueTransform: (T) -> V): M
Заполняет изменяемую карту назначения и возвращает ее. Карта содержит пары ключ-значение, где ключ предоставляется функцией 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
Заполняет изменяемую карту назначения парами ключ-значение, предоставленными функцией transform, примененной к каждому элементу заданной коллекции, и возвращает ее.
Требования к платформе и версии: Common (1.3)
inline fun <K, V, M : MutableMap<in K, in V>> Iterable<K>.associateWithTo(destination: M, valueSelector: (K) -> V): M
Заполняет изменяемую карту назначения парами ключ-значение для каждого элемента заданной коллекции и возвращает ее. Ключом является сам элемент, а значение предоставляется функцией 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
Добавляет в указанный результирующий контейнер все элементы, полученные из результатов вызова функции преобразования для каждого элемента и его индекса в исходной коллекции.
Платформы и требования к версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C
Добавляет в указанный результирующий контейнер все элементы, полученные из результатов вызова функции преобразования для каждого элемента исходной коллекции.
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Sequence<R>): C
Добавляет в указанный результирующий контейнер все элементы, полученные из результатов вызова функции преобразования для каждого элемента исходной коллекции.
Платформы и требования к версии: 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
Платформы и требования к версии: 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)
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
Применяет указанную функцию преобразования к каждому элементу и его индексу в исходной коллекции и добавляет в указанный результирующий контейнер только ненулевые результаты.
Платформы и требования к версии: 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>.maxOfWith(comparator: Comparator<in R>, selector: (T) -> R): R
Возвращает наибольшее значение согласно указанному компаратору среди всех значений, полученных в результате применения функции селектор к каждому элементу коллекции.
Платформы и требования к версии: 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.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 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)
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>
Возвращает исходную коллекцию, содержащую все элементы, не равные null, и выбрасывает IllegalArgumentException, если в коллекции есть элементы, равные null.
Требования к платформе и версии: 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>
Возвращает список последовательных накопленных значений, полученных применением операции слева направо к каждому элементу и текущему значению аккумулятора, которое начинается с первого элемента этой коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <S, T : S> Iterable<T>.runningReduceIndexed(operation: (index: Int, acc: S, T) -> S): List<S>
Возвращает список последовательных накопленных значений, полученных применением операции слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается с первого элемента этой коллекции.
Требования к платформе и версии: Common (1.4)
inline fun <T, R> Iterable<T>.scan(initial: R, operation: (acc: R, T) -> R): List<R>
Возвращает список последовательных накопленных значений, полученных применением операции слева направо к каждому элементу и текущему значению аккумулятора, которое начинается с начального значения.
Требования к платформе и версии: Common (1.4)
inline fun <T, R> Iterable<T>.scanIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): List<R>
Возвращает список последовательных накопленных значений, полученных применением операции слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается с начального значения.
Требования к платформе и версии: Common (1.2)
expect fun <T> Iterable<T>.shuffled(): List<T>
Возвращает новый список, содержащий элементы этой коллекции в случайном порядке.
fun <T> Iterable<T>.shuffled(random: Random): List<T>
Возвращает новый список, содержащий элементы этого списка в случайном порядке; указанный экземпляр генератора случайных чисел используется в качестве источника случайности.
Требования к платформе и версии: 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>
Возвращает новый список, содержащий элементы этого списка в случайном порядке; указанный экземпляр генератора случайных чисел используется в качестве источника случайности.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.single(): T
Возвращает единственный элемент или выбрасывает исключение, если коллекция пуста или содержит больше одного элемента.
inline fun <T> Iterable<T>.single(predicate: (T) -> Boolean): T
Возвращает единственный элемент, удовлетворяющий заданному предикату, или выбрасывает исключение, если подходящих элементов нет или их больше одного.
Требования к платформе и версии: Common (1.0)
fun <T> Iterable<T>.singleOrNull(): T?
Возвращает единственный элемент или null, если коллекция пуста или содержит больше одного элемента.
inline fun <T> Iterable<T>.singleOrNull(predicate: (T) -> Boolean): T?
Возвращает единственный элемент, удовлетворяющий заданному предикату, или null, если элемент не найден или найдено больше одного элемента.
Требования к платформе и версии: 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>
Возвращает список всех элементов, отсортированных согласно указанному компаратору.
Требования к платформе и версии: 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
Возвращает сумму всех значений, полученных функцией селектор, применённой к каждому элементу коллекции.
inline fun <T> Iterable<T>.sumOf(selector: (T) -> UInt): UInt
inline fun <T> Iterable<T>.sumOf(selector: (T) -> ULong): ULong
Возвращает сумму всех значений, полученных функцией селектор, применённой к каждому элементу коллекции.
Платформа и требования к версии: JVM (1.4)
inline fun <T> Iterable<T>.sumOf(selector: (T) -> BigDecimal): BigDecimal
inline fun <T> Iterable<T>.sumOf(selector: (T) -> BigInteger): BigInteger
Возвращает сумму всех значений, полученных функцией селектор, применённой к каждому элементу коллекции.
Платформа и требования к версии: 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
Добавляет все элементы в заданную коллекцию назначения.
Платформа и требования к версии: 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, содержащий все элементы этой коллекции.
Платформа и требования к версии: 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>>
Возвращает список снимков окна заданного размера, скользящего по этой коллекции с заданным шагом, где каждый снимок является списком.
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 и другого массива с одинаковыми индексами. Длина возвращаемого списка равна длине самой короткой коллекции.
infix fun <T, R> Iterable<T>.zip(other: Iterable<R>): List<Pair<T, R>>
Возвращает список пар, составленных из элементов коллекции this и другой коллекции с одинаковыми индексами. Длина возвращаемого списка равна длине самой короткой коллекции.
inline fun <T, R, V> Iterable<T>.zip(other: Array<out R>, transform: (a: T, b: R) -> V): List<V>
Возвращает список значений, сформированных из элементов коллекции this и другого массива с одинаковыми индексами с помощью функции преобразования, применённой к каждой паре элементов. Длина возвращаемого списка равна длине самой короткой коллекции.
inline fun <T, R, V> Iterable<T>.zip(other: Iterable<R>, transform: (a: T, b: R) -> V): List<V>
Возвращает список значений, сформированных из элементов коллекции this и другой коллекции с одинаковыми индексами с помощью функции преобразования, применённой к каждой паре элементов. Длина возвращаемого списка равна длине самой короткой коллекции.
Платформа и требования к версии: 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>
Возвращает список, содержащий результаты применения заданной функции преобразования к каждой паре соседних элементов этой коллекции.
© 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/-collection/index.html