Spec-Zone.ru › Kotlin 2

LinkedHashSet

kotlin-stdlib/kotlin.collections/LinkedHashSet

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

expect class LinkedHashSet<E> : MutableSet<E> 

Реализация MutableSet на основе хеш-таблицы, сохраняющая порядок вставки.

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

Элементы null

LinkedHashSet принимает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного элемента null.

Контракты хеш-кода и равенства элементов

LinkedHashSet использует функции Any.hashCode и Any.equals элементов для их организации и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению повторяющихся элементов или к невозможности найти элементы.

Функции Any.hashCode и Any.equals должны быть согласованными и неизменными в течение всего времени существования объектов-элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в LinkedHashSet, может привести к тому, что элемент станет недоступен.

Характеристики производительности

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

LinkedHashSet обеспечивает эффективную реализацию распространённых операций:

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

  • Вставка и удаление (add, remove): время O(1)

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

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

LinkedHashSet поддерживает предсказуемый порядок итерации по элементам. Элементы перебираются в порядке их добавления в множество — от самых ранних к самым поздним. Этот порядок вставки сохраняется и при рехешировании множества (когда элементы добавляются или удаляются, а внутренняя ёмкость изменяется).

Обратите внимание, что повторная вставка элемента в множество не влияет на порядок вставки. Элемент e вставляется в множество повторно, когда вызывается add(e), а множество уже содержит элемент, равный e.

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

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

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

Для оптимизации производительности и использования памяти:

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

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

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

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

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

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

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

E

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

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

actual open class LinkedHashSet<E> : HashSet<E> , MutableSet<E> 

Реализация MutableSet на основе хеш-таблицы, сохраняющая порядок вставки.

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

Элементы null

LinkedHashSet принимает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного элемента null.

Контракты хеш-кода и равенства элементов

LinkedHashSet использует функции Any.hashCode и Any.equals элементов для их организации и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению повторяющихся элементов или к невозможности найти элементы.

Функции Any.hashCode и Any.equals должны быть согласованными и неизменными в течение всего времени существования объектов-элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в LinkedHashSet, может привести к тому, что элемент станет недоступен.

Характеристики производительности

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

LinkedHashSet обеспечивает эффективную реализацию распространённых операций:

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

  • Вставка и удаление (add, remove): время O(1)

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

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

LinkedHashSet поддерживает предсказуемый порядок итерации по элементам. Элементы перебираются в порядке их добавления в множество — от самых ранних к самым поздним. Этот порядок вставки сохраняется и при рехешировании множества (когда элементы добавляются или удаляются, а внутренняя ёмкость изменяется).

Обратите внимание, что повторная вставка элемента в множество не влияет на порядок вставки. Элемент e вставляется в множество повторно, когда вызывается add(e), а множество уже содержит элемент, равный e.

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

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

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

Для оптимизации производительности и использования памяти:

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

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

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

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

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

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

E

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

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

actual typealias LinkedHashSet<E> = java.util.LinkedHashSet<E>

Реализация MutableSet на основе хеш-таблицы, сохраняющая порядок вставки.

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

Элементы null

LinkedHashSet принимает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного элемента null.

Контракты хеш-кода и равенства элементов

LinkedHashSet использует функции Any.hashCode и Any.equals элементов для их организации и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению повторяющихся элементов или к невозможности найти элементы.

Функции Any.hashCode и Any.equals должны быть согласованными и неизменными в течение всего времени существования объектов-элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в LinkedHashSet, может привести к тому, что элемент станет недоступен.

Характеристики производительности

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

LinkedHashSet обеспечивает эффективную реализацию распространённых операций:

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

  • Вставка и удаление (add, remove): время O(1)

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

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

LinkedHashSet поддерживает предсказуемый порядок итерации по элементам. Элементы перебираются в порядке их добавления в множество — от самых ранних к самым поздним. Этот порядок вставки сохраняется и при рехешировании множества (когда элементы добавляются или удаляются, а внутренняя ёмкость изменяется).

Обратите внимание, что повторная вставка элемента в множество не влияет на порядок вставки. Элемент e вставляется в множество повторно, когда вызывается add(e), а множество уже содержит элемент, равный e.

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

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

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

Для оптимизации производительности и использования памяти:

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

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

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

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

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

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

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

E

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

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

actual typealias LinkedHashSet<> = HashSet<E>

Реализация MutableSet на основе хеш-таблицы, сохраняющая порядок вставки.

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

Элементы null

LinkedHashSet принимает null в качестве элемента. Поскольку элементы уникальны, множество может содержать не более одного элемента null.

Контракты хеш-кода и равенства элементов

LinkedHashSet использует функции Any.hashCode и Any.equals элементов для их организации и поиска. Элементы считаются равными, если функция Any.equals возвращает true, а равные элементы должны иметь одинаковое значение Any.hashCode. Нарушение этого контракта может привести к некорректному поведению, например к хранению повторяющихся элементов или к невозможности найти элементы.

Функции Any.hashCode и Any.equals должны быть согласованными и неизменными в течение всего времени существования объектов-элементов. Изменение элемента, влияющее на его хеш-код или равенство после добавления в LinkedHashSet, может привести к тому, что элемент станет недоступен.

Характеристики производительности

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

LinkedHashSet обеспечивает эффективную реализацию распространённых операций:

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

  • Вставка и удаление (add, remove): время O(1)

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

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

LinkedHashSet поддерживает предсказуемый порядок итерации по элементам. Элементы перебираются в порядке их добавления в множество — от самых ранних к самым поздним. Этот порядок вставки сохраняется и при рехешировании множества (когда элементы добавляются или удаляются, а внутренняя ёмкость изменяется).

Обратите внимание, что повторная вставка элемента в множество не влияет на порядок вставки. Элемент e вставляется в множество повторно, когда вызывается add(e), а множество уже содержит элемент, равный e.

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

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

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

Для оптимизации производительности и использования памяти:

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

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

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

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

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

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

E

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

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

LinkedHashSet

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

expect constructor()

Создаёт новое пустое множество LinkedHashSet.

expect constructor(initialCapacity: Int)

Создаёт новое пустое множество LinkedHashSet с указанной начальной ёмкостью.

expect constructor(initialCapacity: Int, loadFactor: Float)

Создаёт новое пустое множество LinkedHashSet с указанными начальной ёмкостью и коэффициентом заполнения.

expect constructor(elements: Collection<E>)

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

Свойства

indices

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

val Collection<*>.indices: IntRange

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

size

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

expect open override val size: Int

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

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

actual open override val size: Int

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

Функции

add

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

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

@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, если все элементы соответствуют заданному предикату.

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

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)

expect open override fun clear()

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

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

actual open override fun clear()

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

contains

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

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

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

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

actual 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

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

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

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

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>

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

elementAt

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

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

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

elementAtOrElse

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

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

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

elementAtOrNull

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

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

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

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>

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

filterIndexed

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

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

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

filterIndexedTo

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

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

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

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, в указанную целевую коллекцию.

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

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

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

filterNot

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

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

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

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, в указанную целевую коллекцию.

filterNotTo

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

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

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

filterTo

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

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

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

find

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

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

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

findLast

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

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

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

first

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

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

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

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

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

firstNotNullOf

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

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

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

firstNotNullOfOrNull

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

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

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

firstOrNull

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

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

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

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

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

flatMap

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

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

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

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

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

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>

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

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

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

flatMapTo

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

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

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

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

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

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

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

foldIndexed

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

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

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

forEach

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

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

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

forEachIndexed

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

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

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

groupBy

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

inline fun <T, K> Iterable<T>.groupBy(keySelector: (T) -> K): Map<K, List<T>>

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

inline fun <T, K, V> Iterable<T>.groupBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, List<V>>

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

groupByTo

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

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

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

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

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

groupingBy

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

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

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

hashCode

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

open override fun hashCode(): Int

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

indexOf

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

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

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

indexOfFirst

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

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

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

indexOfLast

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

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

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

intersect

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

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

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

isEmpty

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

expect open override fun isEmpty(): Boolean

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

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

actual 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, если эта nullable-коллекция равна 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, если для каждого элемента коллекции значение, полученное с помощью селектора, меньше или равно значению, полученному с помощью селектора для следующего элемента, согласно естественному порядку сортировки значений селектора.

isSortedByDescending

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

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

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

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

iterator

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

expect open operator override fun iterator(): MutableIterator<E>

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

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

actual 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

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

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

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

last

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

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

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

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

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

lastIndexOf

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

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

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

lastOrNull

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

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

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

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

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

map

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

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

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

mapIndexed

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

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

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

mapIndexedNotNull

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

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

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

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

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

mapIndexedTo

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

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

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

mapNotNull

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

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

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

mapNotNullTo

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

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

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

mapTo

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

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

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

max

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

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

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

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

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

maxOf

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

inline fun <T, R : Comparable<R>> Iterable<T>.maxOf(selector: (T) -> R): R
inline fun <T> Iterable<T>.maxOf(selector: (T) -> Double): Double
inline fun <T> Iterable<T>.maxOf(selector: (T) -> Float): Float

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

maxOfOrNull

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

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

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

maxOfWith

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

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

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

maxOfWithOrNull

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

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

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

maxOrNull

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

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

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

maxWith

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

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

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

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

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

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

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

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

min

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

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

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

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

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

minOf

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

inline fun <T, R : Comparable<R>> Iterable<T>.minOf(selector: (T) -> R): R
inline fun <T> Iterable<T>.minOf(selector: (T) -> Double): Double
inline fun <T> Iterable<T>.minOf(selector: (T) -> Float): Float

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

minOfOrNull

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

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

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

minOfWith

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

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

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

minOfWithOrNull

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

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

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

minOrNull

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

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

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

minus

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

operator fun <T> Iterable<T>.minus(element: T): List<T>

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

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>

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

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

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

inline operator fun <T> MutableCollection<in T>.minusAssign(element: T)

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

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

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

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

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

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

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

minWith

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

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

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

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

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

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

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

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

none

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

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

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

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

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

orEmpty

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

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

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

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

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

partition

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

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

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

plus

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

operator fun <T> Collection<T>.plus(element: T): List<T>
operator fun <T> Iterable<T>.plus(element: T): List<T>

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

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>

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

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

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

inline operator fun <T> MutableCollection<in T>.plusAssign(element: T)

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

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

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

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

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

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

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

random

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

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

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

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

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

randomOrNull

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

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

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

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

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

reduce

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

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

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

reduceIndexed

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

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

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

reduceIndexedOrNull

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

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

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

reduceOrNull

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

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

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

remove

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

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

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

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

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

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

remove

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

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

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

removeAll

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

@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, и выбрасывает IllegalArgumentException, если имеются элементы null.

retainAll

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

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

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/-linked-hash-set/

Spec-Zone.ru

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