Hash Set
Требования к платформе и версии: Common (1.0)
expect class HashSet<E> : MutableSet<E>
Реализация MutableSet на основе хеш-таблицы.
Этот класс хранит уникальные элементы с помощью структуры данных «хеш-таблица», которая обеспечивает быстрый поиск и гарантирует отсутствие дублирующихся элементов. Он полностью реализует контракт MutableSet, предоставляя все стандартные операции над множеством, включая поиск, добавление и удаление.
Нулевые элементы
HashSet допускает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного null элемента.
Контракты хеш-кода и равенства элементов
HashSet использует функции Any.hashCode и Any.equals элементов для их упорядочивания и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению дублирующихся элементов или к невозможности найти элементы.
Функции Any.hashCode и Any.equals должны быть согласованными и неизменными на протяжении всего времени существования объектов элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в HashSet, может привести к невозможности найти этот элемент.
Характеристики производительности
Приведенные ниже характеристики производительности предполагают, что функция Any.hashCode элементов равномерно распределяет их по хеш-таблице, сводя к минимуму коллизии. Неудачная хеш-функция, вызывающая множество коллизий, может снизить производительность.
HashSet обеспечивает эффективную реализацию распространенных операций:
Порядок итерации
HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.
Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.
Рекомендации по использованию
HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. По мере добавления элементов множество отслеживает коэффициент заполнения, то есть отношение количества элементов к текущей емкости. Когда это отношение превышает определенный порог, множество автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость и пороговое значение коэффициента заполнения. Обратите внимание, что эти параметры служат лишь подсказками для реализации и могут быть проигнорированы.
Чтобы оптимизировать производительность и использование памяти:
Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.
При создании множества выберите подходящий коэффициент заполнения. Более низкий коэффициент уменьшает вероятность коллизий, но требует больше памяти, тогда как более высокий коэффициент экономит память, но может увеличить время поиска. Значение коэффициента заполнения по умолчанию обычно обеспечивает хороший баланс.
Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.
При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.
Потокобезопасность
HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.
Требования к платформе и версии: JS (1.1)
actual open class HashSet<E> : AbstractMutableSet<E> , MutableSet<E>
Реализация MutableSet на основе хеш-таблицы.
Этот класс хранит уникальные элементы с помощью структуры данных «хеш-таблица», которая обеспечивает быстрый поиск и гарантирует отсутствие дублирующихся элементов. Он полностью реализует контракт MutableSet, предоставляя все стандартные операции над множеством, включая поиск, добавление и удаление.
Нулевые элементы
HashSet допускает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного null элемента.
Контракты хеш-кода и равенства элементов
HashSet использует функции Any.hashCode и Any.equals элементов для их упорядочивания и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению дублирующихся элементов или к невозможности найти элементы.
Функции Any.hashCode и Any.equals должны быть согласованными и неизменными на протяжении всего времени существования объектов элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в HashSet, может привести к невозможности найти этот элемент.
Характеристики производительности
Приведенные ниже характеристики производительности предполагают, что функция Any.hashCode элементов равномерно распределяет их по хеш-таблице, сводя к минимуму коллизии. Неудачная хеш-функция, вызывающая множество коллизий, может снизить производительность.
HashSet обеспечивает эффективную реализацию распространенных операций:
Порядок итерации
HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.
Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.
Рекомендации по использованию
HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. Когда множество заполняется, оно автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость, которая будет использоваться для определения размера внутренней структуры данных и потенциально позволит избежать перехеширования по мере роста множества.
Чтобы оптимизировать производительность и использование памяти:
Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.
Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.
При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.
Потокобезопасность
HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.
Наследники
Требования к платформе и версии: JVM (1.1)
actual typealias HashSet<E> = java.util.HashSet<E>
Реализация MutableSet на основе хеш-таблицы.
Этот класс хранит уникальные элементы с помощью структуры данных «хеш-таблица», которая обеспечивает быстрый поиск и гарантирует отсутствие дублирующихся элементов. Он полностью реализует контракт MutableSet, предоставляя все стандартные операции над множеством, включая поиск, добавление и удаление.
Нулевые элементы
HashSet допускает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного null элемента.
Контракты хеш-кода и равенства элементов
HashSet использует функции Any.hashCode и Any.equals элементов для их упорядочивания и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению дублирующихся элементов или к невозможности найти элементы.
Функции Any.hashCode и Any.equals должны быть согласованными и неизменными на протяжении всего времени существования объектов элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в HashSet, может привести к невозможности найти этот элемент.
Характеристики производительности
Приведенные ниже характеристики производительности предполагают, что функция Any.hashCode элементов равномерно распределяет их по хеш-таблице, сводя к минимуму коллизии. Неудачная хеш-функция, вызывающая множество коллизий, может снизить производительность.
HashSet обеспечивает эффективную реализацию распространенных операций:
Порядок итерации
HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.
Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.
Рекомендации по использованию
HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. По мере добавления элементов множество отслеживает коэффициент заполнения, то есть отношение количества элементов к текущей емкости. Когда это отношение превышает определенный порог, множество автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость и пороговое значение коэффициента заполнения.
Чтобы оптимизировать производительность и использование памяти:
Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.
При создании множества выберите подходящий коэффициент заполнения. Более низкий коэффициент уменьшает вероятность коллизий, но требует больше памяти, тогда как более высокий коэффициент экономит память, но может увеличить время поиска. Значение коэффициента заполнения по умолчанию обычно обеспечивает хороший баланс.
Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.
При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.
Потокобезопасность
HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual class HashSet<E> : MutableSet<E> , KonanSet<E> , AbstractMutableSet<E>
Реализация MutableSet на основе хеш-таблицы.
Этот класс хранит уникальные элементы с помощью структуры данных «хеш-таблица», которая обеспечивает быстрый поиск и гарантирует отсутствие дублирующихся элементов. Он полностью реализует контракт MutableSet, предоставляя все стандартные операции над множеством, включая поиск, добавление и удаление.
Нулевые элементы
HashSet допускает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного null элемента.
Контракты хеш-кода и равенства элементов
HashSet использует функции Any.hashCode и Any.equals элементов для их упорядочивания и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению дублирующихся элементов или к невозможности найти элементы.
Функции Any.hashCode и Any.equals должны быть согласованными и неизменными на протяжении всего времени существования объектов элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в HashSet, может привести к невозможности найти этот элемент.
Характеристики производительности
Приведенные ниже характеристики производительности предполагают, что функция Any.hashCode элементов равномерно распределяет их по хеш-таблице, сводя к минимуму коллизии. Неудачная хеш-функция, вызывающая множество коллизий, может снизить производительность.
HashSet обеспечивает эффективную реализацию распространенных операций:
Порядок итерации
HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.
Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.
Рекомендации по использованию
HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. Когда множество заполняется, оно автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость, которая будет использоваться для определения размера внутренней структуры данных и потенциально позволит избежать перехеширования по мере роста множества.
Чтобы оптимизировать производительность и использование памяти:
Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.
Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.
При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.
Потокобезопасность
HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.
Параметры типа
тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.
Конструкторы
Требования к платформе и версии: Common, JS, Native, Wasm-JS, Wasm-WASI
expect constructor()
Создает новое пустое множество HashSet.
expect constructor(initialCapacity: Int)
Создает новое пустое множество HashSet с указанной начальной емкостью.
expect constructor(initialCapacity: Int, loadFactor: Float)
Создает новое пустое множество HashSet с указанными начальной емкостью и коэффициентом заполнения.
expect constructor(elements: Collection<E>)
Создает новое множество HashSet, содержащее элементы указанной коллекции.
Свойства
Требования к платформе и версии: Common (1.0)
val Collection<*>.indices: IntRange
Возвращает IntRange допустимых индексов этой коллекции.
Функции
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun add(element: E): Boolean
Добавляет указанный элемент в множество.
Требования к платформе и версии: JS (1.1)
actual open override fun add(element: E): Boolean
Добавляет указанный элемент в коллекцию.
Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun addAll(elements: Collection<E>): Boolean
Добавляет все элементы указанной коллекции в эту коллекцию.
Требования к платформе и версии: JS (1.1)
actual open override 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, если все элементы коллекции различны, то есть никакие два элемента не равны.
Требования к платформе и версии: JS (2.0)
open fun asJsReadonlySetView(): JsReadonlySet<E>
Возвращает представление с методами JsReadonlySet, позволяющее использовать его в JavaScript как обычное неизменяемое множество Set. Структурные изменения базового множества синхронизируются с представлением.
Требования к платформе и версии: JS (2.0)
open fun asJsSetView(): JsSet<E>
Возвращает представление с методами JsSet, позволяющее использовать его в 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)
expect open override fun containsAll(elements: Collection<E>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: JS (1.1)
open override fun containsAll(elements: Collection<E>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual open override fun containsAll(elements: Collection<E>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>.containsAll(elements: Collection<T>): Boolean
Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.
Требования к платформе и версии: Common (1.0)
inline fun <T> Collection<T>.count(): Int
fun <T> Iterable<T>.count(): Int
Возвращает количество элементов в этой коллекции.
inline fun <T> Iterable<T>.count(predicate: (T) -> Boolean): Int
Возвращает количество элементов, соответствующих заданному predicate.
Требования к платформе и версии: Common (1.0)
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 для каждого элемента исходной коллекции.
Платформа и требования к версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
open override fungetElement(element: E): E?
Реализует KonanSet.getElement(). Используется для взаимодействия с ObjC.
Платформа и требования к версии: Common (1.0)
inline fun <T, K> Iterable<T>.groupBy(keySelector: (T) -> K): Map<K, List<T>>
Группирует элементы исходной коллекции по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и возвращает map, в которой каждому ключу группы соответствует список элементов этой группы.
inline fun <T, K, V> Iterable<T>.groupBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, List<V>>
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому элементу исходной коллекции, по ключу, возвращаемому функцией keySelector, применённой к этому элементу, и возвращает map, в которой каждому ключу группы соответствует список соответствующих значений.
Платформа и требования к версии: Common (1.0)
inline fun <T, K, M : MutableMap<in K, MutableList<T>>> Iterable<T>.groupByTo(destination: M, keySelector: (T) -> K): M
Группирует элементы исходной коллекции по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и помещает в destination map каждый ключ группы, связанный со списком соответствующих элементов.
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 map каждый ключ группы, связанный со списком соответствующих значений.
Платформа и требования к версии: 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, если эта коллекция, допускающая значение null, равна 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), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open operator override fun iterator(): MutableIterator<E>
Возвращает итератор по элементам этого объекта.
Платформа и требования к версии: Common (1.0)
fun <T, A : Appendable> Iterable<T>.joinTo(buffer: A, separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): A
Платформа и требования к версии: Common (1.0)
fun <T> Iterable<T>.joinToString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): String
Платформа и требования к версии: Common (1.0)
fun <T> Iterable<T>.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.
Требования к платформе и версии: Общие (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?
Требования к платформе и версии: Общие (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?
Требования к платформе и версии: Общие (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, применённой к каждому элементу коллекции.
Требования к платформе и версии: Общие (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, если коллекция пуста.
Требования к платформе и версии: Общие (1.4)
inline fun <T, R> Iterable<T>.maxOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?
Возвращает наибольшее значение согласно указанному компаратору среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции, или null, если коллекция пуста.
Требования к платформе и версии: Общие (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?
Требования к платформе и версии: Общие (1.4)
fun <T> Iterable<T>.maxWithOrNull(comparator: Comparator<in T>): T?
Возвращает первый элемент с наибольшим значением согласно указанному компаратору или null, если элементов нет.
Требования к платформе и версии: Общие (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?
Требования к платформе и версии: Общие (1.7)
inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T
Возвращает первый элемент, для которого функция selector возвращает наименьшее значение.
Требования к платформе и версии: JVM (1.0)
inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T?
Требования к платформе и версии: Общие (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
Возвращает наименьшее значение среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции.
Требования к платформе и версии: Общие (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?
Возвращает наименьшее значение среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции, или null, если коллекция пуста.
Требования к платформе и версии: Общие (1.4)
inline fun <T, R> Iterable<T>.minOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?
Возвращает наименьшее значение согласно указанному компаратору среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции, или null, если коллекция пуста.
Требования к платформе и версии: Общие (1.0)
operator fun <T> Iterable<T>.minus(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме первого вхождения указанного элемента.
operator fun <T> Iterable<T>.minus(elements: Array<out T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, содержащихся в указанном массиве elements.
operator fun <T> Iterable<T>.minus(elements: Iterable<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, содержащихся в указанной коллекции elements.
operator fun <T> Iterable<T>.minus(elements: Sequence<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме элементов, содержащихся в указанной последовательности elements.
operator fun <T> Set<T>.minus(element: T): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме указанного элемента.
operator fun <T> Set<T>.minus(elements: Array<out T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме элементов, содержащихся в указанном массиве elements.
operator fun <T> Set<T>.minus(elements: Iterable<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме элементов, содержащихся в указанной коллекции elements.
operator fun <T> Set<T>.minus(elements: Sequence<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме элементов, содержащихся в указанной последовательности elements.
Требования к платформе и версии: Общие (1.0)
inline operator fun <T> MutableCollection<in T>.minusAssign(element: T)
Удаляет один экземпляр указанного элемента из этой изменяемой коллекции.
inline operator fun <T> MutableCollection<in T>.minusAssign(elements: Array<T>)
Удаляет из этой изменяемой коллекции все элементы, содержащиеся в указанном массиве elements.
inline operator fun <T> MutableCollection<in T>.minusAssign(elements: Iterable<T>)
Удаляет из этой изменяемой коллекции все элементы, содержащиеся в указанной коллекции elements.
inline operator fun <T> MutableCollection<in T>.minusAssign(elements: Sequence<T>)
Удаляет из этой изменяемой коллекции все элементы, содержащиеся в указанной последовательности elements.
Требования к платформе и версии: Общие (1.0)
inline fun <T> Iterable<T>.minusElement(element: T): List<T>
Возвращает список, содержащий все элементы исходной коллекции, кроме первого вхождения указанного элемента.
inline fun <T> Set<T>.minusElement(element: T): Set<T>
Возвращает множество, содержащее все элементы исходного множества, кроме указанного элемента.
Требования к платформе и версии: Общие (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?
Требования к платформе и версии: Общие (1.4)
fun <T> Iterable<T>.minWithOrNull(comparator: Comparator<in T>): T?
Возвращает первый элемент с наименьшим значением согласно указанному компаратору или null, если элементов нет.
Требования к платформе и версии: Общие (1.0)
inline fun <T> Collection<T>?.orEmpty(): Collection<T>
Возвращает эту коллекцию, если она не null, и пустой список в противном случае.
inline fun <T> Set<T>?.orEmpty(): Set<T>
Возвращает это множество, если оно не null, и пустое множество в противном случае.
Требования к платформе и версии: Общие (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>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы указанного массива elements.
operator fun <T> Collection<T>.plus(elements: Iterable<T>): List<T>
operator fun <T> Iterable<T>.plus(elements: Iterable<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы указанной коллекции elements.
operator fun <T> Collection<T>.plus(elements: Sequence<T>): List<T>
operator fun <T> Iterable<T>.plus(elements: Sequence<T>): List<T>
Возвращает список, содержащий все элементы исходной коллекции, а затем все элементы указанной последовательности elements.
operator fun <T> Set<T>.plus(element: T): Set<T>
Возвращает множество, содержащее все элементы исходного множества, а затем указанный элемент, если его ещё нет в этом множестве.
operator fun <T> Set<T>.plus(elements: Array<out T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества и элементы указанного массива elements, которых ещё нет в этом множестве.
operator fun <T> Set<T>.plus(elements: Iterable<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества и элементы указанной коллекции elements, которых ещё нет в этом множестве. Возвращаемое множество сохраняет порядок итерации элементов исходного множества.
operator fun <T> Set<T>.plus(elements: Sequence<T>): Set<T>
Возвращает множество, содержащее все элементы исходного множества и элементы указанной последовательности elements, которых ещё нет в этом множестве.
Требования к платформе и версии: Общие (1.0)
inline operator fun <T> MutableCollection<in T>.plusAssign(element: T)
Добавляет указанный элемент в эту изменяемую коллекцию.
inline operator fun <T> MutableCollection<in T>.plusAssign(elements: Array<T>)
Добавляет все элементы указанного массива elements в эту изменяемую коллекцию.
inline operator fun <T> MutableCollection<in T>.plusAssign(elements: Iterable<T>)
Добавляет все элементы указанной коллекции elements в эту изменяемую коллекцию.
inline operator fun <T> MutableCollection<in T>.plusAssign(elements: Sequence<T>)
Добавляет все элементы указанной последовательности elements в эту изменяемую коллекцию.
Требования к платформе и версии: Общие (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>
Возвращает множество, содержащее все элементы исходного множества, а затем указанный элемент, если его ещё нет в этом множестве.
Требования к платформе и версии: Общие (1.4)
inline fun <T> Collection<T>.randomOrNull(): T?
Возвращает случайный элемент этой коллекции или null, если коллекция пуста.
fun <T> Collection<T>.randomOrNull(random: Random): T?
Возвращает случайный элемент этой коллекции, используя указанный источник случайных значений, или null, если коллекция пуста.
Требования к платформе и версии: Общие (1.0)
inline fun <S, T : S> Iterable<T>.reduceIndexed(operation: (index: Int, acc: S, T) -> S): S
Вычисляет значение, начиная с первого элемента и применяя operation слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
Требования к платформе и версии: Общие (1.4)
inline fun <S, T : S> Iterable<T>.reduceIndexedOrNull(operation: (index: Int, acc: S, T) -> S): S?
Вычисляет значение, начиная с первого элемента и применяя operation слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.
Требования к платформе и версии: Общие (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun removeAll(elements: Collection<E>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
Требования к платформе и версии: JS (1.1)
actual open override fun removeAll(elements: Collection<E>): Boolean
Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.
Платформа и требования к версии: Common (1.0)
fun <T> MutableCollection<in T>.removeAll(elements: Array<out T>): Boolean
Удаляет из этой коллекции MutableCollection все элементы, которые также содержатся в заданном массиве elements.
inline fun <T> MutableCollection<out T>.removeAll(elements: Collection<T>): Boolean
Удаляет все элементы этой коллекции, которые также содержатся в указанной коллекции.
fun <T> MutableCollection<in T>.removeAll(elements: Iterable<T>): Boolean
Удаляет из этой коллекции MutableCollection все элементы, которые также содержатся в заданной коллекции elements.
fun <T> MutableCollection<in T>.removeAll(elements: Sequence<T>): Boolean
Удаляет из этой коллекции MutableCollection все элементы, которые также содержатся в заданной последовательности elements.
fun <T> MutableIterable<T>.removeAll(predicate: (T) -> Boolean): Boolean
Удаляет из этого объекта MutableIterable все элементы, соответствующие заданному predicate.
Платформа и требования к версии: Common (1.0)
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>
Возвращает исходную коллекцию, содержащую все элементы, отличные от null; если имеются элементы null, выбрасывает IllegalArgumentException.
Платформа и требования к версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect open override fun retainAll(elements: Collection<E>): Boolean
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.
Платформа и требования к версии: JS (1.1)
actual open override fun retainAll(elements: Collection<E>): Boolean
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.
Платформа и требования к версии: Common (1.0)
fun <T> MutableCollection<in T>.retainAll(elements: Array<out T>): Boolean
Оставляет в этой коллекции MutableCollection только элементы, содержащиеся в заданном массиве elements.
inline fun <T> MutableCollection<out T>.retainAll(elements: Collection<T>): Boolean
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.
fun <T> MutableCollection<in T>.retainAll(elements: Iterable<T>): Boolean
Оставляет в этой коллекции MutableCollection только элементы, содержащиеся в заданной коллекции elements.
fun <T> MutableCollection<in T>.retainAll(elements: Sequence<T>): Boolean
Оставляет в этой коллекции MutableCollection только элементы, содержащиеся в заданной последовательности elements.
fun <T> MutableIterable<T>.retainAll(predicate: (T) -> Boolean): Boolean
Оставляет в этом объекте MutableIterable только элементы, соответствующие заданному predicate.
Платформа и требования к версии: 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)
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, применённой к каждому элементу коллекции.
Платформа и требования к версии: JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
protected open fun toArray(): Array<Any?>
Возвращает новый массив типа Array<Any?>, содержащий элементы этой коллекции.
protected open fun <T> toArray(array: Array<T>): Array<T>
Заполняет предоставленный array или создаёт новый массив того же типа и заполняет его элементами этой коллекции.
Платформа и требования к версии: Common (1.0)
fun Collection<Boolean>.toBooleanArray(): BooleanArray
Возвращает массив Boolean, содержащий все элементы этой коллекции.
Платформа и требования к версии: Common (1.0)
fun Collection<Byte>.toByteArray(): ByteArray
Возвращает массив Byte, содержащий все элементы этой коллекции.
Платформа и требования к версии: Common (1.0)
fun Collection<Char>.toCharArray(): CharArray
Возвращает массив Char, содержащий все элементы этой коллекции.
Платформа и требования к версии: Common (1.0)
fun <T, C : MutableCollection<in T>> Iterable<T>.toCollection(destination: C): C
Добавляет все элементы в заданную коллекцию destination.
Платформа и требования к версии: 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>
Платформа и требования к версии: Common (1.2)
fun <T> Iterable<T>.zipWithNext(): List<Pair<T, T>>
Возвращает список пар, составленных из каждой пары соседних элементов этой коллекции.
inline fun <T, R> Iterable<T>.zipWithNext(transform: (a: T, b: T) -> R): List<R>
Возвращает список, содержащий результаты применения заданной функции transform к каждой паре соседних элементов этой коллекции.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-hash-set/index.html