Spec-Zone.ru › Kotlin 2

HashSet

kotlin-stdlib/kotlin.collections/HashSet

Требования к платформе и версии: 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 обеспечивает эффективную реализацию распространенных операций:

  • Поиск (contains): время O(1)

  • Добавление и удаление (add, remove): время O(1)

  • Итерация: время O(n)

Порядок итерации

HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.

Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.

Рекомендации по использованию

HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. По мере добавления элементов множество отслеживает коэффициент заполнения, то есть отношение количества элементов к текущей емкости. Когда это отношение превышает определенный порог, множество автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость и пороговое значение коэффициента заполнения. Обратите внимание, что эти параметры служат лишь подсказками для реализации и могут быть проигнорированы.

Чтобы оптимизировать производительность и использование памяти:

  • Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.

  • При создании множества выберите подходящий коэффициент заполнения. Более низкий коэффициент уменьшает вероятность коллизий, но требует больше памяти, тогда как более высокий коэффициент экономит память, но может увеличить время поиска. Значение коэффициента заполнения по умолчанию обычно обеспечивает хороший баланс.

  • Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.

  • При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.

Потокобезопасность

HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.

Параметры типа

E

тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.

Требования к платформе и версии: 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 обеспечивает эффективную реализацию распространенных операций:

  • Поиск (contains): время O(1)

  • Добавление и удаление (add, remove): время O(1)

  • Итерация: время O(n)

Порядок итерации

HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.

Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.

Рекомендации по использованию

HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. Когда множество заполняется, оно автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость, которая будет использоваться для определения размера внутренней структуры данных и потенциально позволит избежать перехеширования по мере роста множества.

Чтобы оптимизировать производительность и использование памяти:

  • Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.

  • Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.

  • При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.

Потокобезопасность

HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.

Параметры типа

E

тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.

Наследники

LinkedHashSet

Требования к платформе и версии: 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 обеспечивает эффективную реализацию распространенных операций:

  • Поиск (contains): время O(1)

  • Добавление и удаление (add, remove): время O(1)

  • Итерация: время O(n)

Порядок итерации

HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.

Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.

Рекомендации по использованию

HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. По мере добавления элементов множество отслеживает коэффициент заполнения, то есть отношение количества элементов к текущей емкости. Когда это отношение превышает определенный порог, множество автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость и пороговое значение коэффициента заполнения.

Чтобы оптимизировать производительность и использование памяти:

  • Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.

  • При создании множества выберите подходящий коэффициент заполнения. Более низкий коэффициент уменьшает вероятность коллизий, но требует больше памяти, тогда как более высокий коэффициент экономит память, но может увеличить время поиска. Значение коэффициента заполнения по умолчанию обычно обеспечивает хороший баланс.

  • Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.

  • При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.

Потокобезопасность

HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.

Параметры типа

E

тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.

Требования к платформе и версии: 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 обеспечивает эффективную реализацию распространенных операций:

  • Поиск (contains): время O(1)

  • Добавление и удаление (add, remove): время O(1)

  • Итерация: время O(n)

Порядок итерации

HashSet не гарантирует какой-либо определенный порядок итерации по элементам. Порядок итерации непредсказуем и может измениться при перехешировании множества (когда элементы добавляются или удаляются и корректируется внутренняя емкость). Не полагайтесь на какой-либо определенный порядок итерации.

Если необходим предсказуемый порядок итерации, рассмотрите возможность использования LinkedHashSet, который сохраняет порядок добавления элементов.

Рекомендации по использованию

HashSet использует внутреннюю структуру данных с конечной емкостью — максимальным количеством элементов, которое она может хранить до необходимости увеличения. Когда множество заполняется, оно автоматически увеличивает свою емкость и выполняет перехеширование — перестраивает внутреннюю структуру данных, чтобы перераспределить элементы. Перехеширование — относительно затратная операция, которая временно снижает производительность. При создании HashSet можно указать начальную емкость, которая будет использоваться для определения размера внутренней структуры данных и потенциально позволит избежать перехеширования по мере роста множества.

Чтобы оптимизировать производительность и использование памяти:

  • Если количество элементов известно заранее, используйте конструктор с начальной емкостью, чтобы избежать многократного перехеширования по мере роста множества.

  • Убедитесь, что реализации Any.hashCode объектов элементов обеспечивают хорошее распределение, чтобы свести к минимуму коллизии и сохранить высокую производительность.

  • При добавлении нескольких элементов предпочтительнее использовать addAll, чем многократно вызывать add для отдельных элементов.

Потокобезопасность

HashSet не является потокобезопасным. Если несколько потоков одновременно обращаются к экземпляру и хотя бы один поток изменяет его, требуется внешняя синхронизация.

Параметры типа

E

тип элементов, содержащихся в множестве. Изменяемое множество инвариантно относительно типа элементов.

Конструкторы

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, содержащее элементы указанной коллекции.

Свойства

indices

Требования к платформе и версии: Common (1.0)

val Collection<*>.indices: IntRange

Возвращает IntRange допустимых индексов этой коллекции.

size

Требования к платформе и версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect open override val size: Int

Возвращает размер коллекции.

Функции

add

Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

@IgnorableReturnValue
expect open override fun add(element: E): Boolean

Добавляет указанный элемент в множество.

Требования к платформе и версии: JS (1.1)

@IgnorableReturnValue
actual open override fun add(element: E): Boolean

Добавляет указанный элемент в коллекцию.

addAll

Требования к платформе и версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

@IgnorableReturnValue
expect open override fun addAll(elements: Collection<E>): Boolean

Добавляет все элементы указанной коллекции в эту коллекцию.

Требования к платформе и версии: JS (1.1)

@IgnorableReturnValue
actual open override fun addAll(elements: Collection<E>): Boolean

Добавляет все элементы указанной коллекции в эту коллекцию.

addAll

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
fun <T> MutableCollection<in T>.addAll(elements: Array<out T>): Boolean

Добавляет все элементы указанного массива elements в эту MutableCollection.

@IgnorableReturnValue
fun <T> MutableCollection<in T>.addAll(elements: Iterable<T>): Boolean

Добавляет все элементы указанной коллекции elements в эту MutableCollection.

@IgnorableReturnValue
fun <T> MutableCollection<in T>.addAll(elements: Sequence<T>): Boolean

Добавляет все элементы указанной последовательности elements в эту MutableCollection.

all

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.all(predicate: (T) -> Boolean): Boolean

Возвращает true, если все элементы соответствуют заданному predicate.

allDistinct

Требования к платформе и версии: Common (2.4)

@ExperimentalStdlibApi
fun <T> Iterable<T>.allDistinct(): Boolean

Возвращает true, если все элементы коллекции различны, то есть никакие два элемента не равны.

allDistinctBy

Требования к платформе и версии: Common (2.4)

@ExperimentalStdlibApi
inline fun <T, K> Iterable<T>.allDistinctBy(selector: (T) -> K): Boolean

Возвращает true, если все значения, полученные применением функции selector к элементам коллекции, различны.

allEqual

Требования к платформе и версии: Common (2.4)

@ExperimentalStdlibApi
fun <T> Iterable<T>.allEqual(): Boolean

Возвращает true, если все элементы коллекции равны друг другу.

allEqualBy

Требования к платформе и версии: Common (2.4)

@ExperimentalStdlibApi
inline fun <T, K> Iterable<T>.allEqualBy(selector: (T) -> K): Boolean

Возвращает true, если все элементы коллекции дают одинаковое значение, полученное с помощью функции selector.

any

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.any(): Boolean

Возвращает true, если коллекция содержит хотя бы один элемент.

inline fun <T> Iterable<T>.any(predicate: (T) -> Boolean): Boolean

Возвращает true, если хотя бы один элемент соответствует заданному predicate.

asIterable

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.asIterable(): Iterable<T>

Возвращает эту коллекцию как Iterable.

asJsReadonlySetView

Требования к платформе и версии: JS (2.0)

@ExperimentalJsExport
@ExperimentalJsCollectionsApi
open fun asJsReadonlySetView(): JsReadonlySet<E>

Возвращает представление с методами JsReadonlySet, позволяющее использовать его в JavaScript как обычное неизменяемое множество Set. Структурные изменения базового множества синхронизируются с представлением.

asJsSetView

Требования к платформе и версии: JS (2.0)

@ExperimentalJsExport
@ExperimentalJsCollectionsApi
open fun asJsSetView(): JsSet<E>

Возвращает представление с методами JsSet, позволяющее использовать его в JavaScript как обычное множество Set. Структурные изменения базового множества синхронизируются с представлением и наоборот.

asSequence

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.asSequence(): Sequence<T>

Создает экземпляр Sequence, оборачивающий исходную коллекцию и возвращающий ее элементы при итерации.

associate

Требования к платформе и версии: Common (1.0)

inline fun <T, K, V> Iterable<T>.associate(transform: (T) -> Pair<K, V>): Map<K, V>

Возвращает Map, содержащую пары ключ-значение, созданные функцией transform, примененной к элементам заданной коллекции.

associateBy

Требования к платформе и версии: 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, примененными к элементам заданной коллекции.

associateByTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, K, M : MutableMap<in K, in T>> Iterable<T>.associateByTo(destination: M, keySelector: (T) -> K): M

Заполняет изменяемую карту destination парами ключ-значение и возвращает ее. Ключ предоставляется функцией keySelector, примененной к каждому элементу заданной коллекции, а значение — сам элемент.

@IgnorableReturnValue
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, примененными к элементам заданной коллекции.

associateTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo(destination: M, transform: (T) -> Pair<K, V>): M

Заполняет изменяемую карту destination парами ключ-значение, предоставленными функцией transform, примененной к каждому элементу заданной коллекции, и возвращает ее.

associateWith

Требования к платформе и версии: Common (1.3)

inline fun <K, V> Iterable<K>.associateWith(valueSelector: (K) -> V): Map<K, V>

Возвращает Map, в которой ключами являются элементы заданной коллекции, а значения создаются функцией valueSelector, примененной к каждому элементу.

associateWithTo

Требования к платформе и версии: Common (1.3)

@IgnorableReturnValue
inline fun <K, V, M : MutableMap<in K, in V>> Iterable<K>.associateWithTo(destination: M, valueSelector: (K) -> V): M

Заполняет изменяемую карту destination парами ключ-значение для каждого элемента заданной коллекции и возвращает ее. Ключом является сам элемент, а значение предоставляет функция valueSelector, примененная к этому ключу.

average

Требования к платформе и версии: Common (1.0)

@JvmName(name = "averageOfByte")
fun Iterable<Byte>.average(): Double
@JvmName(name = "averageOfDouble")
fun Iterable<Double>.average(): Double
@JvmName(name = "averageOfFloat")
fun Iterable<Float>.average(): Double
@JvmName(name = "averageOfInt")
fun Iterable<Int>.average(): Double
@JvmName(name = "averageOfLong")
fun Iterable<Long>.average(): Double
@JvmName(name = "averageOfShort")
fun Iterable<Short>.average(): Double

Возвращает среднее значение элементов коллекции.

chunked

Требования к платформе и версии: Common (1.2)

fun <T> Iterable<T>.chunked(size: Int): List<List<T>>

Разбивает эту коллекцию на список списков, каждый из которых не превышает заданный size.

fun <T, R> Iterable<T>.chunked(size: Int, transform: (List<T>) -> R): List<R>

Разбивает эту коллекцию на несколько списков, каждый из которых не превышает заданный size, и применяет к каждому из них заданную функцию transform.

clear

Требования к платформе и версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect open override fun clear()

Удаляет все элементы из этой коллекции.

contains

Требования к платформе и версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect open operator override fun contains(element: E): Boolean

Проверяет, содержится ли указанный элемент в этой коллекции.

contains

Требования к платформе и версии: Common (1.0)

operator fun <T> Iterable<T>.contains(element: T): Boolean

Возвращает true, если element найден в коллекции.

containsAll

Требования к платформе и версии: 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

Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.

containsAll

Требования к платформе и версии: Common (1.0)

inline fun <T> Collection<T>.containsAll(elements: Collection<T>): Boolean

Проверяет, содержатся ли все элементы указанной коллекции в этой коллекции.

count

Требования к платформе и версии: 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.

distinct

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.distinct(): List<T>

Возвращает список, содержащий только уникальные элементы заданной коллекции.

distinctBy

Требования к платформе и версии: Common (1.0)

inline fun <T, K> Iterable<T>.distinctBy(selector: (T) -> K): List<T>

Возвращает список, содержащий только элементы заданной коллекции с уникальными ключами, возвращаемыми заданной функцией selector.

drop

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.drop(n: Int): List<T>

Возвращает список, содержащий все элементы, кроме первых n элементов.

dropWhile

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.dropWhile(predicate: (T) -> Boolean): List<T>

Возвращает список, содержащий все элементы, кроме начальных элементов, удовлетворяющих заданному predicate.

elementAt

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.elementAt(index: Int): T

Возвращает элемент по заданному index или выбрасывает IndexOutOfBoundsException, если index выходит за границы этой коллекции.

elementAtOrElse

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.elementAtOrElse(index: Int, defaultValue: (Int) -> T): T

Возвращает элемент по заданному index или результат вызова функции defaultValue, если index выходит за границы этой коллекции.

elementAtOrNull

Требования к платформе и версии: Common (1.0)

fun <T> Iterable<T>.elementAtOrNull(index: Int): T?

Возвращает элемент по заданному index или null, если index выходит за границы этой коллекции.

equals

Требования к платформе и версии: JS (1.1)

open operator override fun equals(other: Any?): Boolean

Сравнивает это множество с другим экземпляром множества, используя неупорядоченное структурное равенство.

filter

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.filter(predicate: (T) -> Boolean): List<T>

Возвращает список, содержащий только элементы, соответствующие заданному predicate.

filterIndexed

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.filterIndexed(predicate: (index: Int, T) -> Boolean): List<T>

Возвращает список, содержащий только элементы, соответствующие заданному predicate.

filterIndexedTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterIndexedTo(destination: C, predicate: (index: Int, T) -> Boolean): C

Добавляет все элементы, соответствующие заданному predicate, в указанное destination.

filterIsInstance

Требования к платформе и версии: Common (1.0)

inline fun <R> Iterable<*>.filterIsInstance(): List<R>

Возвращает список, содержащий все элементы, являющиеся экземплярами указанного параметра типа R.

Требования к платформе и версии: JVM (1.0)

fun <R> Iterable<*>.filterIsInstance(klass: Class<R>): List<R>

Возвращает список, содержащий все элементы, являющиеся экземплярами указанного класса.

filterIsInstanceTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
inline fun <R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(destination: C): C

Добавляет все элементы, являющиеся экземплярами указанного параметра типа R, в заданное destination.

Требования к платформе и версии: JVM (1.0)

@IgnorableReturnValue
fun <C : MutableCollection<in R>, R> Iterable<*>.filterIsInstanceTo(destination: C, klass: Class<R>): C

Добавляет все элементы, являющиеся экземплярами указанного класса, в заданное destination.

filterNot

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.filterNot(predicate: (T) -> Boolean): List<T>

Возвращает список, содержащий все элементы, не соответствующие заданному predicate.

filterNotNull

Требования к платформе и версии: Common (1.0)

fun <T : Any> Iterable<T?>.filterNotNull(): List<T>

Возвращает список, содержащий все элементы, которые не являются null.

filterNotNullTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(destination: C): C

Добавляет все элементы, которые не являются null, в указанное destination.

filterNotTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterNotTo(destination: C, predicate: (T) -> Boolean): C

Добавляет все элементы, не соответствующие заданному predicate, в указанное destination.

filterTo

Требования к платформе и версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterTo(destination: C, predicate: (T) -> Boolean): C

Добавляет все элементы, соответствующие заданному predicate, в указанное destination.

find

Требования к платформе и версии: Common (1.0)

inline fun <T> Iterable<T>.find(predicate: (T) -> Boolean): T?

Возвращает первый элемент, соответствующий заданному predicate, или null, если такой элемент не найден.

findLast

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.findLast(predicate: (T) -> Boolean): T?

Возвращает последний элемент, соответствующий заданному predicate, или null, если такой элемент не найден.

first

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.first(): T

Возвращает первый элемент.

inline fun <T> Iterable<T>.first(predicate: (T) -> Boolean): T

Возвращает первый элемент, соответствующий заданному predicate.

firstNotNullOf

Платформа и требования к версии: Common (1.5)

inline fun <T, R : Any> Iterable<T>.firstNotNullOf(transform: (T) -> R?): R

Возвращает первое ненулевое значение, полученное при применении функции transform к элементам этой коллекции в порядке итерации, или выбрасывает исключение NoSuchElementException, если ненулевое значение не было получено.

firstNotNullOfOrNull

Платформа и требования к версии: Common (1.5)

inline fun <T, R : Any> Iterable<T>.firstNotNullOfOrNull(transform: (T) -> R?): R?

Возвращает первое ненулевое значение, полученное при применении функции transform к элементам этой коллекции в порядке итерации, или null, если ненулевое значение не было получено.

firstOrNull

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.firstOrNull(): T?

Возвращает первый элемент или null, если коллекция пуста.

inline fun <T> Iterable<T>.firstOrNull(predicate: (T) -> Boolean): T?

Возвращает первый элемент, соответствующий заданному predicate, или null, если элемент не найден.

flatMap

Платформа и требования к версии: Common (1.0)

inline fun <T, R> Iterable<T>.flatMap(transform: (T) -> Iterable<R>): List<R>

Возвращает единый список всех элементов, полученных из результатов вызова функции transform для каждого элемента исходной коллекции.

@JvmName(name = "flatMapSequence")
inline fun <T, R> Iterable<T>.flatMap(transform: (T) -> Sequence<R>): List<R>

Возвращает единый список всех элементов, полученных из результатов вызова функции transform для каждого элемента исходной коллекции.

flatMapIndexed

Платформа и требования к версии: Common (1.4)

@JvmName(name = "flatMapIndexedIterable")
inline fun <T, R> Iterable<T>.flatMapIndexed(transform: (index: Int, T) -> Iterable<R>): List<R>
@JvmName(name = "flatMapIndexedSequence")
inline fun <T, R> Iterable<T>.flatMapIndexed(transform: (index: Int, T) -> Sequence<R>): List<R>

Возвращает единый список всех элементов, полученных из результатов вызова функции transform для каждого элемента и его индекса в исходной коллекции.

flatMapIndexedTo

Платформа и требования к версии: Common (1.4)

@JvmName(name = "flatMapIndexedIterableTo")
@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Iterable<R>): C
@JvmName(name = "flatMapIndexedSequenceTo")
@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapIndexedTo(destination: C, transform: (index: Int, T) -> Sequence<R>): C

Добавляет в указанное destination все элементы, полученные из результатов вызова функции transform для каждого элемента и его индекса в исходной коллекции.

flatMapTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C

Добавляет в указанное destination все элементы, полученные из результатов вызова функции transform для каждого элемента исходной коллекции.

@JvmName(name = "flatMapSequenceTo")
@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Sequence<R>): C

Добавляет в указанное destination все элементы, полученные из результатов вызова функции transform для каждого элемента исходной коллекции.

flatten

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<Iterable<T>>.flatten(): List<T>

Возвращает единый список всех элементов всех коллекций, содержащихся в данной коллекции.

fold

Платформа и требования к версии: Common (1.0)

inline fun <T, R> Iterable<T>.fold(initial: R, operation: (acc: R, T) -> R): R

Накапливает значение, начиная с initial и применяя operation слева направо к текущему значению аккумулятора и каждому элементу.

foldIndexed

Платформа и требования к версии: Common (1.0)

inline fun <T, R> Iterable<T>.foldIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): R

Накапливает значение, начиная с initial и применяя operation слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.

forEach

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.forEach(action: (T) -> Unit)

Выполняет заданное action для каждого элемента.

forEachIndexed

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.forEachIndexed(action: (index: Int, T) -> Unit)

Выполняет заданное action для каждого элемента, передавая вместе с ним последовательный индекс.

getElement

Платформа и требования к версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

open override fun getElement(element: E): E?

Реализует KonanSet.getElement(). Используется для взаимодействия с ObjC.

groupBy

Платформа и требования к версии: 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, в которой каждому ключу группы соответствует список соответствующих значений.

groupByTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, K, M : MutableMap<in K, MutableList<T>>> Iterable<T>.groupByTo(destination: M, keySelector: (T) -> K): M

Группирует элементы исходной коллекции по ключу, возвращаемому функцией keySelector, применённой к каждому элементу, и помещает в destination map каждый ключ группы, связанный со списком соответствующих элементов.

@IgnorableReturnValue
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 каждый ключ группы, связанный со списком соответствующих значений.

groupingBy

Платформа и требования к версии: Common (1.1)

inline fun <T, K> Iterable<T>.groupingBy(crossinline keySelector: (T) -> K): Grouping<T, K>

Создаёт источник Grouping из коллекции для последующего использования с одной из операций группировки и свёртки, применяя указанную функцию keySelector для извлечения ключа из каждого элемента.

hashCode

Платформа и требования к версии: JS (1.1)

open override fun hashCode(): Int

Возвращает хеш-код этого множества.

indexOf

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.indexOf(element: T): Int

Возвращает первый индекс element или -1, если коллекция не содержит этот элемент.

indexOfFirst

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.indexOfFirst(predicate: (T) -> Boolean): Int

Возвращает индекс первого элемента, соответствующего заданному predicate, или -1, если коллекция не содержит такой элемент.

indexOfLast

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.indexOfLast(predicate: (T) -> Boolean): Int

Возвращает индекс последнего элемента, соответствующего заданному predicate, или -1, если коллекция не содержит такой элемент.

intersect

Платформа и требования к версии: Common (1.0)

infix fun <T> Iterable<T>.intersect(other: Iterable<T>): Set<T>

Возвращает множество, содержащее элементы этой коллекции, которые также содержатся в указанной коллекции other.

isEmpty

Платформа и требования к версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect open override fun isEmpty(): Boolean

Возвращает true, если коллекция пуста (не содержит элементов), и false в противном случае.

isNotEmpty

Платформа и требования к версии: Common (1.0)

inline fun <T> Collection<T>.isNotEmpty(): Boolean

Возвращает true, если коллекция не пуста.

isNullOrEmpty

Платформа и требования к версии: Common (1.3)

inline fun <T> Collection<T>?.isNullOrEmpty(): Boolean

Возвращает true, если эта коллекция, допускающая значение null, равна null или пуста.

isSorted

Платформа и требования к версии: Common (2.4)

fun <T : Comparable<T>> Iterable<T>.isSorted(): Boolean

Возвращает true, если каждый элемент коллекции меньше или равен следующему элементу согласно естественному порядку сортировки.

isSortedBy

Платформа и требования к версии: Common (2.4)

inline fun <T, R : Comparable<R>> Iterable<T>.isSortedBy(selector: (T) -> R?): Boolean

Возвращает true, если для каждого элемента коллекции функция selector возвращает значение, меньшее или равное значению selector для следующего элемента согласно естественному порядку сортировки значений selector.

isSortedByDescending

Платформа и требования к версии: Common (2.4)

inline fun <T, R : Comparable<R>> Iterable<T>.isSortedByDescending(selector: (T) -> R?): Boolean

Возвращает true, если для каждого элемента коллекции функция selector возвращает значение, большее или равное значению selector для следующего элемента согласно естественному порядку сортировки значений selector.

isSortedDescending

Платформа и требования к версии: Common (2.4)

fun <T : Comparable<T>> Iterable<T>.isSortedDescending(): Boolean

Возвращает true, если каждый элемент коллекции больше или равен следующему элементу согласно естественному порядку сортировки.

isSortedWith

Платформа и требования к версии: Common (2.4)

fun <T> Iterable<T>.isSortedWith(comparator: Comparator<in T>): Boolean

Возвращает true, если каждый элемент коллекции меньше или равен следующему элементу согласно указанному comparator.

iterator

Платформа и требования к версии: 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>

Возвращает итератор по элементам этого объекта.

joinTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
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

Добавляет строки всех элементов, разделяя их с помощью separator и используя заданные prefix и postfix, если они указаны.

joinToString

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.joinToString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence? = null): String

Создаёт строку из всех элементов, разделяя их с помощью separator и используя заданные prefix и postfix, если они указаны.

last

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.last(): T

Возвращает последний элемент.

inline fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T

Возвращает последний элемент, соответствующий заданному predicate.

lastIndexOf

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.lastIndexOf(element: T): Int

Возвращает последний индекс element или -1, если коллекция не содержит этот элемент.

lastOrNull

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.lastOrNull(): T?

Возвращает последний элемент или null, если коллекция пуста.

inline fun <T> Iterable<T>.lastOrNull(predicate: (T) -> Boolean): T?

Возвращает последний элемент, соответствующий заданному predicate, или null, если такой элемент не найден.

map

Платформа и требования к версии: Common (1.0)

inline fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R>

Возвращает список, содержащий результаты применения заданной функции transform к каждому элементу исходной коллекции.

mapIndexed

Платформа и требования к версии: Common (1.0)

inline fun <T, R> Iterable<T>.mapIndexed(transform: (index: Int, T) -> R): List<R>

Возвращает список, содержащий результаты применения заданной функции transform к каждому элементу и его индексу в исходной коллекции.

mapIndexedNotNull

Платформа и требования к версии: Common (1.0)

inline fun <T, R : Any> Iterable<T>.mapIndexedNotNull(transform: (index: Int, T) -> R?): List<R>

Возвращает список, содержащий только ненулевые результаты применения заданной функции transform к каждому элементу и его индексу в исходной коллекции.

mapIndexedNotNullTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapIndexedNotNullTo(destination: C, transform: (index: Int, T) -> R?): C

Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет только ненулевые результаты в указанное destination.

mapIndexedTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapIndexedTo(destination: C, transform: (index: Int, T) -> R): C

Применяет заданную функцию transform к каждому элементу и его индексу в исходной коллекции и добавляет результаты в указанное destination.

mapNotNull

Платформа и требования к версии: Common (1.0)

inline fun <T, R : Any> Iterable<T>.mapNotNull(transform: (T) -> R?): List<R>

Возвращает список, содержащий только ненулевые результаты применения заданной функции transform к каждому элементу исходной коллекции.

mapNotNullTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, R : Any, C : MutableCollection<in R>> Iterable<T>.mapNotNullTo(destination: C, transform: (T) -> R?): C

Применяет заданную функцию transform к каждому элементу исходной коллекции и добавляет только ненулевые результаты в указанное destination.

mapTo

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo(destination: C, transform: (T) -> R): C

Применяет заданную функцию transform к каждому элементу исходной коллекции и добавляет результаты в указанное destination.

max

Требования к платформе и версии: Общие (1.7)

@JvmName(name = "maxOrThrow")
fun <T : Comparable<T>> Iterable<T>.max(): T
@JvmName(name = "maxOrThrow")
fun Iterable<Double>.max(): Double
@JvmName(name = "maxOrThrow")
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?
maxBy

Требования к платформе и версии: Общие (1.7)

@JvmName(name = "maxByOrThrow")
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?
maxByOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <T, R : Comparable<R>> Iterable<T>.maxByOrNull(selector: (T) -> R): T?

Возвращает первый элемент, для которого функция selector возвращает наибольшее значение, или null, если элементов нет.

maxOf

Требования к платформе и версии: Общие (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, применённой к каждому элементу коллекции.

maxOfOrNull

Требования к платформе и версии: Общие (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, если коллекция пуста.

maxOfWith

Требования к платформе и версии: Общие (1.4)

inline fun <T, R> Iterable<T>.maxOfWith(comparator: Comparator<in R>, selector: (T) -> R): R

Возвращает наибольшее значение согласно указанному компаратору среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

maxOfWithOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <T, R> Iterable<T>.maxOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?

Возвращает наибольшее значение согласно указанному компаратору среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции, или null, если коллекция пуста.

maxOrNull

Требования к платформе и версии: Общие (1.4)

fun <T : Comparable<T>> Iterable<T>.maxOrNull(): T?
fun Iterable<Double>.maxOrNull(): Double?
fun Iterable<Float>.maxOrNull(): Float?

Возвращает наибольший элемент или null, если коллекция пуста.

maxWith

Требования к платформе и версии: Общие (1.7)

@JvmName(name = "maxWithOrThrow")
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T

Возвращает первый элемент с наибольшим значением согласно указанному компаратору.

Требования к платформе и версии: JVM (1.0)

fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T?
maxWithOrNull

Требования к платформе и версии: Общие (1.4)

fun <T> Iterable<T>.maxWithOrNull(comparator: Comparator<in T>): T?

Возвращает первый элемент с наибольшим значением согласно указанному компаратору или null, если элементов нет.

min

Требования к платформе и версии: Общие (1.7)

@JvmName(name = "minOrThrow")
fun <T : Comparable<T>> Iterable<T>.min(): T
@JvmName(name = "minOrThrow")
fun Iterable<Double>.min(): Double
@JvmName(name = "minOrThrow")
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?
minBy

Требования к платформе и версии: Общие (1.7)

@JvmName(name = "minByOrThrow")
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?
minByOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <T, R : Comparable<R>> Iterable<T>.minByOrNull(selector: (T) -> R): T?

Возвращает первый элемент, для которого функция selector возвращает наименьшее значение, или null, если элементов нет.

minOf

Требования к платформе и версии: Общие (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, применённой к каждому элементу коллекции.

minOfOrNull

Требования к платформе и версии: Общие (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, если коллекция пуста.

minOfWith

Требования к платформе и версии: Общие (1.4)

inline fun <T, R> Iterable<T>.minOfWith(comparator: Comparator<in R>, selector: (T) -> R): R

Возвращает наименьшее значение согласно указанному компаратору среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

minOfWithOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <T, R> Iterable<T>.minOfWithOrNull(comparator: Comparator<in R>, selector: (T) -> R): R?

Возвращает наименьшее значение согласно указанному компаратору среди всех значений, полученных функцией selector, применённой к каждому элементу коллекции, или null, если коллекция пуста.

minOrNull

Требования к платформе и версии: Общие (1.4)

fun <T : Comparable<T>> Iterable<T>.minOrNull(): T?
fun Iterable<Double>.minOrNull(): Double?
fun Iterable<Float>.minOrNull(): Float?

Возвращает наименьший элемент или null, если коллекция пуста.

minus

Требования к платформе и версии: Общие (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.

minusAssign

Требования к платформе и версии: Общие (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.

minusElement

Требования к платформе и версии: Общие (1.0)

inline fun <T> Iterable<T>.minusElement(element: T): List<T>

Возвращает список, содержащий все элементы исходной коллекции, кроме первого вхождения указанного элемента.

inline fun <T> Set<T>.minusElement(element: T): Set<T>

Возвращает множество, содержащее все элементы исходного множества, кроме указанного элемента.

minWith

Требования к платформе и версии: Общие (1.7)

@JvmName(name = "minWithOrThrow")
fun <T> Iterable<T>.minWith(comparator: Comparator<in T>): T

Возвращает первый элемент с наименьшим значением согласно указанному компаратору.

Требования к платформе и версии: JVM (1.0)

fun <T> Iterable<T>.minWith(comparator: Comparator<in T>): T?
minWithOrNull

Требования к платформе и версии: Общие (1.4)

fun <T> Iterable<T>.minWithOrNull(comparator: Comparator<in T>): T?

Возвращает первый элемент с наименьшим значением согласно указанному компаратору или null, если элементов нет.

none

Требования к платформе и версии: Общие (1.0)

fun <T> Iterable<T>.none(): Boolean

Возвращает true, если коллекция не содержит элементов.

inline fun <T> Iterable<T>.none(predicate: (T) -> Boolean): Boolean

Возвращает true, если ни один элемент не удовлетворяет заданному предикату.

orEmpty

Требования к платформе и версии: Общие (1.0)

inline fun <T> Collection<T>?.orEmpty(): Collection<T>

Возвращает эту коллекцию, если она не null, и пустой список в противном случае.

inline fun <T> Set<T>?.orEmpty(): Set<T>

Возвращает это множество, если оно не null, и пустое множество в противном случае.

partition

Требования к платформе и версии: Общие (1.0)

inline fun <T> Iterable<T>.partition(predicate: (T) -> Boolean): Pair<List<T>, List<T>>

Разбивает исходную коллекцию на пару списков: первый список содержит элементы, для которых predicate вернул true, а второй список — элементы, для которых predicate вернул false.

plus

Требования к платформе и версии: Общие (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, которых ещё нет в этом множестве.

plusAssign

Требования к платформе и версии: Общие (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 в эту изменяемую коллекцию.

plusElement

Требования к платформе и версии: Общие (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>

Возвращает множество, содержащее все элементы исходного множества, а затем указанный элемент, если его ещё нет в этом множестве.

random

Требования к платформе и версии: Общие (1.3)

inline fun <T> Collection<T>.random(): T

Возвращает случайный элемент этой коллекции.

fun <T> Collection<T>.random(random: Random): T

Возвращает случайный элемент этой коллекции, используя указанный источник случайных значений.

randomOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <T> Collection<T>.randomOrNull(): T?

Возвращает случайный элемент этой коллекции или null, если коллекция пуста.

fun <T> Collection<T>.randomOrNull(random: Random): T?

Возвращает случайный элемент этой коллекции, используя указанный источник случайных значений, или null, если коллекция пуста.

reduce

Требования к платформе и версии: Общие (1.0)

inline fun <S, T : S> Iterable<T>.reduce(operation: (acc: S, T) -> S): S

Вычисляет значение, начиная с первого элемента и применяя operation слева направо к текущему значению аккумулятора и каждому элементу.

reduceIndexed

Требования к платформе и версии: Общие (1.0)

inline fun <S, T : S> Iterable<T>.reduceIndexed(operation: (index: Int, acc: S, T) -> S): S

Вычисляет значение, начиная с первого элемента и применяя operation слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.

reduceIndexedOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <S, T : S> Iterable<T>.reduceIndexedOrNull(operation: (index: Int, acc: S, T) -> S): S?

Вычисляет значение, начиная с первого элемента и применяя operation слева направо к текущему значению аккумулятора и каждому элементу с его индексом в исходной коллекции.

reduceOrNull

Требования к платформе и версии: Общие (1.4)

inline fun <S, T : S> Iterable<T>.reduceOrNull(operation: (acc: S, T) -> S): S?

Вычисляет значение, начиная с первого элемента и применяя operation слева направо к текущему значению аккумулятора и каждому элементу.

remove

Требования к платформе и версии: Общие (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

@IgnorableReturnValue
expect open override fun remove(element: E): Boolean

Удаляет один экземпляр указанного элемента из этой коллекции, если коллекция его содержит.

remove

Требования к платформе и версии: Общие (1.0)

@IgnorableReturnValue
inline fun <T> MutableCollection<out T>.remove(element: T): Boolean

Удаляет один экземпляр указанного элемента из этой коллекции, если он в ней присутствует.

removeAll

Требования к платформе и версии: Общие (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

@IgnorableReturnValue
expect open override fun removeAll(elements: Collection<E>): Boolean

Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.

Требования к платформе и версии: JS (1.1)

@IgnorableReturnValue
actual open override fun removeAll(elements: Collection<E>): Boolean

Удаляет из этой коллекции все элементы, которые также содержатся в указанной коллекции.

removeAll

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
fun <T> MutableCollection<in T>.removeAll(elements: Array<out T>): Boolean

Удаляет из этой коллекции MutableCollection все элементы, которые также содержатся в заданном массиве elements.

@IgnorableReturnValue
inline fun <T> MutableCollection<out T>.removeAll(elements: Collection<T>): Boolean

Удаляет все элементы этой коллекции, которые также содержатся в указанной коллекции.

@IgnorableReturnValue
fun <T> MutableCollection<in T>.removeAll(elements: Iterable<T>): Boolean

Удаляет из этой коллекции MutableCollection все элементы, которые также содержатся в заданной коллекции elements.

@IgnorableReturnValue
fun <T> MutableCollection<in T>.removeAll(elements: Sequence<T>): Boolean

Удаляет из этой коллекции MutableCollection все элементы, которые также содержатся в заданной последовательности elements.

@IgnorableReturnValue
fun <T> MutableIterable<T>.removeAll(predicate: (T) -> Boolean): Boolean

Удаляет из этого объекта MutableIterable все элементы, соответствующие заданному predicate.

requireNoNulls

Платформа и требования к версии: Common (1.0)

fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T>

Возвращает исходную коллекцию, содержащую все элементы, отличные от null; если имеются элементы null, выбрасывает IllegalArgumentException.

retainAll

Платформа и требования к версии: Common (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

@IgnorableReturnValue
expect open override fun retainAll(elements: Collection<E>): Boolean

Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.

Платформа и требования к версии: JS (1.1)

@IgnorableReturnValue
actual open override fun retainAll(elements: Collection<E>): Boolean

Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.

retainAll

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
fun <T> MutableCollection<in T>.retainAll(elements: Array<out T>): Boolean

Оставляет в этой коллекции MutableCollection только элементы, содержащиеся в заданном массиве elements.

@IgnorableReturnValue
inline fun <T> MutableCollection<out T>.retainAll(elements: Collection<T>): Boolean

Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции.

@IgnorableReturnValue
fun <T> MutableCollection<in T>.retainAll(elements: Iterable<T>): Boolean

Оставляет в этой коллекции MutableCollection только элементы, содержащиеся в заданной коллекции elements.

@IgnorableReturnValue
fun <T> MutableCollection<in T>.retainAll(elements: Sequence<T>): Boolean

Оставляет в этой коллекции MutableCollection только элементы, содержащиеся в заданной последовательности elements.

@IgnorableReturnValue
fun <T> MutableIterable<T>.retainAll(predicate: (T) -> Boolean): Boolean

Оставляет в этом объекте MutableIterable только элементы, соответствующие заданному predicate.

reversed

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.reversed(): List<T>

Возвращает список с элементами в обратном порядке.

runningFold

Платформа и требования к версии: Common (1.4)

inline fun <T, R> Iterable<T>.runningFold(initial: R, operation: (acc: R, T) -> R): List<R>

Возвращает список последовательных значений аккумулятора, полученных в результате применения operation слева направо к каждому элементу и текущему значению аккумулятора, которое начинается со значения initial.

runningFoldIndexed

Платформа и требования к версии: Common (1.4)

inline fun <T, R> Iterable<T>.runningFoldIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): List<R>

Возвращает список последовательных значений аккумулятора, полученных в результате применения operation слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается со значения initial.

runningReduce

Платформа и требования к версии: Common (1.4)

inline fun <S, T : S> Iterable<T>.runningReduce(operation: (acc: S, T) -> S): List<S>

Возвращает список последовательных значений аккумулятора, полученных в результате применения operation слева направо к каждому элементу и текущему значению аккумулятора, которое начинается с первого элемента этой коллекции.

runningReduceIndexed

Платформа и требования к версии: Common (1.4)

inline fun <S, T : S> Iterable<T>.runningReduceIndexed(operation: (index: Int, acc: S, T) -> S): List<S>

Возвращает список последовательных значений аккумулятора, полученных в результате применения operation слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается с первого элемента этой коллекции.

scan

Платформа и требования к версии: Common (1.4)

inline fun <T, R> Iterable<T>.scan(initial: R, operation: (acc: R, T) -> R): List<R>

Возвращает список последовательных значений аккумулятора, полученных в результате применения operation слева направо к каждому элементу и текущему значению аккумулятора, которое начинается со значения initial.

scanIndexed

Платформа и требования к версии: Common (1.4)

inline fun <T, R> Iterable<T>.scanIndexed(initial: R, operation: (index: Int, acc: R, T) -> R): List<R>

Возвращает список последовательных значений аккумулятора, полученных в результате применения operation слева направо к каждому элементу, его индексу в исходной коллекции и текущему значению аккумулятора, которое начинается со значения initial.

shuffled

Платформа и требования к версии: 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.

single

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.single(): T

Возвращает единственный элемент или выбрасывает исключение, если коллекция пуста или содержит более одного элемента.

inline fun <T> Iterable<T>.single(predicate: (T) -> Boolean): T

Возвращает единственный элемент, соответствующий заданному predicate, или выбрасывает исключение, если подходящих элементов нет или их больше одного.

singleOrNull

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.singleOrNull(): T?

Возвращает единственный элемент или null, если коллекция пуста или содержит более одного элемента.

inline fun <T> Iterable<T>.singleOrNull(predicate: (T) -> Boolean): T?

Возвращает единственный элемент, соответствующий заданному predicate, или null, если элемент не найден либо найдено более одного элемента.

sorted

Платформа и требования к версии: Common (1.0)

fun <T : Comparable<T>> Iterable<T>.sorted(): List<T>

Возвращает список всех элементов, отсортированных в естественном порядке.

sortedBy

Платформа и требования к версии: Common (1.0)

inline fun <T, R : Comparable<R>> Iterable<T>.sortedBy(crossinline selector: (T) -> R?): List<T>

Возвращает список всех элементов, отсортированных в естественном порядке по значению, возвращаемому указанной функцией selector.

sortedByDescending

Платформа и требования к версии: Common (1.0)

inline fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending(crossinline selector: (T) -> R?): List<T>

Возвращает список всех элементов, отсортированных по убыванию в естественном порядке по значению, возвращаемому указанной функцией selector.

sortedDescending

Платформа и требования к версии: Common (1.0)

fun <T : Comparable<T>> Iterable<T>.sortedDescending(): List<T>

Возвращает список всех элементов, отсортированных по убыванию в естественном порядке.

sortedWith

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.sortedWith(comparator: Comparator<in T>): List<T>

Возвращает список всех элементов, отсортированных согласно указанному comparator.

subtract

Платформа и требования к версии: Common (1.0)

infix fun <T> Iterable<T>.subtract(other: Iterable<T>): Set<T>

Возвращает множество, содержащее все элементы этой коллекции, отсутствующие в указанной коллекции.

sum

Платформа и требования к версии: Common (1.0)

@JvmName(name = "sumOfByte")
fun Iterable<Byte>.sum(): Int
@JvmName(name = "sumOfDouble")
fun Iterable<Double>.sum(): Double
@JvmName(name = "sumOfFloat")
fun Iterable<Float>.sum(): Float
@JvmName(name = "sumOfInt")
fun Iterable<Int>.sum(): Int
@JvmName(name = "sumOfLong")
fun Iterable<Long>.sum(): Long
@JvmName(name = "sumOfShort")
fun Iterable<Short>.sum(): Int

Возвращает сумму всех элементов коллекции.

@JvmName(name = "sumOfUByte")
fun Iterable<UByte>.sum(): UInt
@JvmName(name = "sumOfUInt")
fun Iterable<UInt>.sum(): UInt
@JvmName(name = "sumOfULong")
fun Iterable<ULong>.sum(): ULong
@JvmName(name = "sumOfUShort")
fun Iterable<UShort>.sum(): UInt

Возвращает сумму всех элементов коллекции.

sumBy

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

sumByDouble

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.sumByDouble(selector: (T) -> Double): Double

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

sumOf

Платформа и требования к версии: Common (1.4)

@JvmName(name = "sumOfDouble")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> Double): Double
@JvmName(name = "sumOfInt")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> Int): Int
@JvmName(name = "sumOfLong")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> Long): Long

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

@JvmName(name = "sumOfUInt")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> UInt): UInt
@JvmName(name = "sumOfULong")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> ULong): ULong

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

Платформа и требования к версии: JVM (1.4)

@JvmName(name = "sumOfBigDecimal")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> BigDecimal): BigDecimal
@JvmName(name = "sumOfBigInteger")
inline fun <T> Iterable<T>.sumOf(selector: (T) -> BigInteger): BigInteger

Возвращает сумму всех значений, полученных функцией selector, применённой к каждому элементу коллекции.

take

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.take(n: Int): List<T>

Возвращает список, содержащий первые n элементов.

takeWhile

Платформа и требования к версии: Common (1.0)

inline fun <T> Iterable<T>.takeWhile(predicate: (T) -> Boolean): List<T>

Возвращает список, содержащий начальные элементы, удовлетворяющие заданному predicate.

toArray

Платформа и требования к версии: 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 или создаёт новый массив того же типа и заполняет его элементами этой коллекции.

toBooleanArray

Платформа и требования к версии: Common (1.0)

fun Collection<Boolean>.toBooleanArray(): BooleanArray

Возвращает массив Boolean, содержащий все элементы этой коллекции.

toByteArray

Платформа и требования к версии: Common (1.0)

fun Collection<Byte>.toByteArray(): ByteArray

Возвращает массив Byte, содержащий все элементы этой коллекции.

toCharArray

Платформа и требования к версии: Common (1.0)

fun Collection<Char>.toCharArray(): CharArray

Возвращает массив Char, содержащий все элементы этой коллекции.

toCollection

Платформа и требования к версии: Common (1.0)

@IgnorableReturnValue
fun <T, C : MutableCollection<in T>> Iterable<T>.toCollection(destination: C): C

Добавляет все элементы в заданную коллекцию destination.

toDoubleArray

Платформа и требования к версии: Common (1.0)

fun Collection<Double>.toDoubleArray(): DoubleArray

Возвращает массив Double, содержащий все элементы этой коллекции.

toFloatArray

Платформа и требования к версии: Common (1.0)

fun Collection<Float>.toFloatArray(): FloatArray

Возвращает массив Float, содержащий все элементы этой коллекции.

toHashSet

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.toHashSet(): HashSet<T>

Возвращает новый HashSet, содержащий все элементы.

toIntArray

Платформа и требования к версии: Common (1.0)

fun Collection<Int>.toIntArray(): IntArray

Возвращает массив Int, содержащий все элементы этой коллекции.

toList

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.toList(): List<T>

Возвращает List, содержащий все элементы.

toLongArray

Платформа и требования к версии: Common (1.0)

fun Collection<Long>.toLongArray(): LongArray

Возвращает массив Long, содержащий все элементы этой коллекции.

toMap

Платформа и требования к версии: Common (1.0)

fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V>

Возвращает новую карту, содержащую все пары ключ-значение из заданной коллекции пар.

@IgnorableReturnValue
fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap(destination: M): M

Заполняет и возвращает изменяемую карту destination парами ключ-значение из заданной коллекции пар.

toMutableList

Платформа и требования к версии: Common (1.0)

fun <T> Collection<T>.toMutableList(): MutableList<T>
fun <T> Iterable<T>.toMutableList(): MutableList<T>

Возвращает новый MutableList, заполненный всеми элементами этой коллекции.

toMutableSet

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.toMutableSet(): MutableSet<T>

Возвращает новый MutableSet, содержащий все уникальные элементы заданной коллекции.

toSet

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.toSet(): Set<T>

Возвращает Set, содержащий все элементы.

toShortArray

Платформа и требования к версии: Common (1.0)

fun Collection<Short>.toShortArray(): ShortArray

Возвращает массив Short, содержащий все элементы этой коллекции.

toSortedSet

Платформа и требования к версии: JVM (1.0)

fun <T : Comparable<T>> Iterable<T>.toSortedSet(): SortedSet<T>
fun <T> Iterable<T>.toSortedSet(comparator: Comparator<in T>): SortedSet<T>

Возвращает новый SortedSet, содержащий все элементы.

toString

Платформа и требования к версии: JS (1.1)

open override fun toString(): String

Возвращает строковое представление объекта.

toTypedArray

Платформа и требования к версии: 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>

Возвращает типизированный массив, содержащий все элементы этой коллекции.

toUByteArray

Платформа и требования к версии: Common (1.3)

@ExperimentalUnsignedTypes
fun Collection<UByte>.toUByteArray(): UByteArray

Возвращает массив UByte, содержащий все элементы этой коллекции.

toUIntArray

Платформа и требования к версии: Common (1.3)

@ExperimentalUnsignedTypes
fun Collection<UInt>.toUIntArray(): UIntArray

Возвращает массив UInt, содержащий все элементы этой коллекции.

toULongArray

Платформа и требования к версии: Common (1.3)

@ExperimentalUnsignedTypes
fun Collection<ULong>.toULongArray(): ULongArray

Возвращает массив ULong, содержащий все элементы этой коллекции.

toUShortArray

Платформа и требования к версии: Common (1.3)

@ExperimentalUnsignedTypes
fun Collection<UShort>.toUShortArray(): UShortArray

Возвращает массив UShort, содержащий все элементы этой коллекции.

union

Платформа и требования к версии: Common (1.0)

infix fun <T> Iterable<T>.union(other: Iterable<T>): Set<T>

Возвращает множество, содержащее все уникальные элементы обеих коллекций.

unzip

Платформа и требования к версии: Common (1.0)

fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>

Возвращает пару списков: первый список состоит из первых значений каждой пары этой коллекции, а второй список — из вторых значений каждой пары этой коллекции.

waitForMultipleFutures

Платформа и требования к версии: Native (1.3)

@ObsoleteWorkersApi
fun <T> Collection<Future<T>>.waitForMultipleFutures(millis: Int): Set<Future<T>>
windowed

Платформа и требования к версии: 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>

Возвращает список результатов применения заданной функции transform к каждому списку, представляющему окно заданного size, скользящее по этой коллекции с заданным step.

withIndex

Платформа и требования к версии: Common (1.0)

fun <T> Iterable<T>.withIndex(): Iterable<IndexedValue<T>>

Возвращает ленивый Iterable, который оборачивает каждый элемент исходной коллекции в IndexedValue, содержащий индекс этого элемента и сам элемент.

zip

Платформа и требования к версии: 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>

Возвращает список значений, полученных из элементов коллекции this и коллекции other с одинаковыми индексами с помощью функции transform, применённой к каждой паре элементов. Длина возвращаемого списка равна длине более короткой коллекции.

zipWithNext

Платформа и требования к версии: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API