Set
Требования к платформе и версии: Общая (1.0)
expect interface Set<out E> : Collection<E>
Обобщённая неупорядоченная коллекция уникальных элементов. Интерфейс позволяет проверять, содержится ли в ней элемент, и перебирать все элементы. На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.
Способ, которым Set определяет уникальность элементов, зависит от реализации. Если не указано иное, реализации Set обычно различают элементы с помощью Any.equals. Однако это не единственный способ различать элементы: некоторые реализации могут использовать ссылочное равенство или сравнивать элементы по некоторым их свойствам. Рекомендуется явно указывать, каким образом класс, реализующий Set, различает элементы.
Методы этого интерфейса поддерживают только доступ к множеству для чтения; доступ для чтения и записи поддерживается через интерфейс MutableSet.
В отличие от List, Set не гарантирует какой-либо определённый порядок перебора. Однако конкретные реализации могут задавать фиксированный порядок перебора, например посещать элементы, которые в некотором смысле являются «меньшими», до «больших». В этом случае рекомендуется явно документировать гарантии порядка для реализации Set.
В отличие от реализаций Collection, реализации Set должны переопределять функции Any.toString, Any.equals и Any.hashCode и предоставлять реализации, удовлетворяющие следующим условиям:
Set.toString должен возвращать строку, содержащую строковые представления входящих в множество элементов в порядке перебора.
Set.equals должен считать два множества равными тогда и только тогда, когда они содержат одинаковое количество элементов и каждый элемент одного множества содержится в другом множестве. В отличие от некоторых других реализаций
equals, Set.equals должен считать два множества равными, даже если они являются экземплярами разных классов; единственное требование состоит в том, чтобы оба множества реализовывали интерфейс Set.Set.hashCode должен вычисляться как сумма хеш-кодов элементов с использованием следующего алгоритма:
var hashCode: Int = 0
for (element in this) hashCode += element.hashCode()
Параметры типа
тип элементов, содержащихся в множестве. Множество ковариантно по типу элементов.
Наследники
Требования к платформе и версии: JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual interface Set<out E> : Collection<E>
Обобщённая неупорядоченная коллекция уникальных элементов. Интерфейс позволяет проверять, содержится ли в ней элемент, и перебирать все элементы. На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.
Способ, которым Set определяет уникальность элементов, зависит от реализации. Если не указано иное, реализации Set обычно различают элементы с помощью Any.equals. Однако это не единственный способ различать элементы: некоторые реализации могут использовать ссылочное равенство или сравнивать элементы по некоторым их свойствам. Рекомендуется явно указывать, каким образом класс, реализующий Set, различает элементы.
Методы этого интерфейса поддерживают только доступ к множеству для чтения; доступ для чтения и записи поддерживается через интерфейс MutableSet.
В отличие от List, Set не гарантирует какой-либо определённый порядок перебора. Однако конкретные реализации могут задавать фиксированный порядок перебора, например посещать элементы, которые в некотором смысле являются «меньшими», до «больших». В этом случае рекомендуется явно документировать гарантии порядка для реализации Set.
В отличие от реализаций Collection, реализации Set должны переопределять функции Any.toString, Any.equals и Any.hashCode и предоставлять реализации, удовлетворяющие следующим условиям:
Set.toString должен возвращать строку, содержащую строковые представления входящих в множество элементов в порядке перебора.
Set.equals должен считать два множества равными тогда и только тогда, когда они содержат одинаковое количество элементов и каждый элемент одного множества содержится в другом множестве. В отличие от некоторых других реализаций
equals, Set.equals должен считать два множества равными, даже если они являются экземплярами разных классов; единственное требование состоит в том, чтобы оба множества реализовывали интерфейс Set.Set.hashCode должен вычисляться как сумма хеш-кодов элементов с использованием следующего алгоритма:
var hashCode: Int = 0
for (element in this) hashCode += element.hashCode()
Параметры типа
тип элементов, содержащихся в множестве. Множество ковариантно по типу элементов.
Наследники
Требования к платформе и версии: JVM (1.0)
actual interface Set<out E> : Collection<E>
Обобщённая неупорядоченная коллекция уникальных элементов. Интерфейс позволяет проверять, содержится ли в ней элемент, и перебирать все элементы. На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.
Способ, которым Set определяет уникальность элементов, зависит от реализации. Если не указано иное, реализации Set обычно различают элементы с помощью Any.equals. Однако это не единственный способ различать элементы: некоторые реализации могут использовать ссылочное равенство или сравнивать элементы по некоторым их свойствам. Рекомендуется явно указывать, каким образом класс, реализующий Set, различает элементы.
Методы этого интерфейса поддерживают только доступ к множеству для чтения; доступ для чтения и записи поддерживается через интерфейс MutableSet.
В отличие от List, Set не гарантирует какой-либо определённый порядок перебора. Однако конкретные реализации могут задавать фиксированный порядок перебора, например посещать элементы, которые в некотором смысле являются «меньшими», до «больших». В этом случае рекомендуется явно документировать гарантии порядка для реализации Set.
В отличие от реализаций Collection, реализации Set должны переопределять функции Any.toString, Any.equals и Any.hashCode и предоставлять реализации, удовлетворяющие следующим условиям:
Set.toString должен возвращать строку, содержащую строковые представления входящих в множество элементов в порядке перебора.
Set.equals должен считать два множества равными тогда и только тогда, когда они содержат одинаковое количество элементов и каждый элемент одного множества содержится в другом множестве.
Set.hashCode должен вычисляться как сумма хеш-кодов элементов с использованием следующего алгоритма:
var hashCode: Int = 0
for (element in this) hashCode += element?.hashCode() ?: 0
По соглашению, реализации Set обычно также реализуют java.io.Serializable.
Параметры типа
тип элементов, содержащихся в множестве. Множество ковариантно по типу элементов.
Наследники
Свойства
Требования к платформе и версии: Общая (1.0)
val Collection<*>.indices: IntRange
Возвращает IntRange допустимых индексов этой коллекции.
Функции
Требования к платформе и версии: Common (2.4)
fun <T> Iterable<T>.allDistinct(): Boolean
Возвращает true, если все элементы коллекции отличаются друг от друга, то есть нет двух равных элементов.
Требования к платформе и версии: JS (2.0)
open fun asJsReadonlySetView(): JsReadonlySet<E>
Возвращает представление с методами JsReadonlySet, позволяющее использовать его в JavaScript как обычный неизменяемый Set. Структурные изменения базового множества синхронизируются с представлением.
Требования к платформе и версии: 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), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect abstract 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)
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterIndexedTo(destination: C, predicate: (index: Int, T) -> Boolean): C
Добавляет все элементы, соответствующие заданному predicate, в указанный destination.
Требования к платформе и версии: 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, в заданный destination.
Требования к платформе и версии: JVM (1.0)
fun <C : MutableCollection<in R>, R> Iterable<*>.filterIsInstanceTo(destination: C, klass: Class<R>): C
Добавляет все элементы, являющиеся экземплярами указанного класса, в заданный destination.
Требования к платформе и версии: Common (1.0)
fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(destination: C): C
Добавляет все элементы, которые не являются null, в заданный destination.
Требования к платформе и версии: Common (1.0)
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterNotTo(destination: C, predicate: (T) -> Boolean): C
Добавляет все элементы, не соответствующие заданному predicate, в указанный destination.
Требования к платформе и версии: 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?
Возвращает первый элемент, соответствующий заданному predicate, или 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
Добавляет в указанный destination все элементы, полученные в результате вызова функции transform для каждого элемента и его индекса в исходной коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C
Добавляет в указанный destination все элементы, полученные в результате вызова функции transform для каждого элемента исходной коллекции.
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Sequence<R>): C
Добавляет в указанный destination все элементы, полученные в результате вызова функции transform для каждого элемента исходной коллекции.
Требования к платформе и версии: 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, применённой к каждому элементу, и помещает в карту destination каждый ключ группы со списком соответствующих элементов.
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, применённой к элементу, и помещает в карту destination каждый ключ группы со списком соответствующих значений.
Требования к платформе и версии: 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, если каждый элемент коллекции меньше или равен следующему элементу согласно указанному comparator.
Требования к платформе и версии: 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?
Возвращает последний элемент, соответствующий заданному predicate, или 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 к каждому элементу и его индексу в исходной коллекции и добавляет в указанный destination только ненулевые результаты.
Требования к платформе и версии: Common (1.0)
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapIndexedTo(destination: C, transform: (index: Int, T) -> R): C
Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет результаты в указанный destination.
Требования к платформе и версии: Common (1.0)
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapNotNullTo(destination: C, transform: (T) -> R?): C
Применяет заданную функцию transform к каждому элементу исходной коллекции и добавляет в указанный destination только ненулевые результаты.
Требования к платформе и версии: 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?
Возвращает наибольшее значение согласно заданному comparator среди всех значений, полученных при применении функции selector к каждому элементу коллекции, или 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>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, содержащихся в заданной последовательности элементов.
operator fun <T> Set<T>.minus(element: T): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме заданного элемента.
operator fun <T> Set<T>.minus(elements: Array<out T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме элементов, содержащихся в заданном массиве элементов.
operator fun <T> Set<T>.minus(elements: Iterable<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме элементов, содержащихся в заданной коллекции элементов.
operator fun <T> Set<T>.minus(elements: Sequence<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме элементов, содержащихся в заданной последовательности элементов.
Требования к платформе и версии: Common (1.0)
inline fun <T> Iterable<T>.minusElement(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме первого вхождения заданного элемента.
inline fun <T> Set<T>.minusElement(element: T): Set<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> Set<T>?.orEmpty(): Set<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>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы заданной последовательности элементов.
operator fun <T> Set<T>.plus(element: T): Set<T>
Возвращает множество, содержащее все элементы исходного множества, а затем заданный элемент, если его ещё нет в этом множестве.
operator fun <T> Set<T>.plus(elements: Array<out T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества и заданного массива элементов, которых ещё нет в этом множестве.
operator fun <T> Set<T>.plus(elements: Iterable<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества и заданной коллекции элементов, которых ещё нет в этом множестве. Возвращаемое множество сохраняет порядок итерации элементов исходного множества.
operator fun <T> Set<T>.plus(elements: Sequence<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества и заданной последовательности элементов, которых ещё нет в этом множестве.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>.plusElement(element: T): List<T>
inline fun <T> Iterable<T>.plusElement(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем заданный элемент.
inline fun <T> Set<T>.plusElement(element: T): Set<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; если есть элементы, равные null, выбрасывается исключение IllegalArgumentException.
Требования к платформе и версии: 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.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 и массива 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 с одинаковыми индексами с помощью указанной функции преобразования, применённой к каждой паре элементов. Длина возвращаемого списка равна длине самой короткой коллекции.
inline fun <T, R, V> Iterable<T>.zip(other: Iterable<R>, transform: (a: T, b: R) -> V): List<V>
Возвращает список значений, полученных из элементов коллекции this и коллекции other с одинаковыми индексами с помощью указанной функции преобразования, применённой к каждой паре элементов. Длина возвращаемого списка равна длине самой короткой коллекции.
Платформы и требования к версии: 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/-set/index.html