Spec-Zone.ru › Kotlin 2

Map

kotlin-stdlib/kotlin.collections/Map

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

expect interface Map<K, out V>

Коллекция, содержащая пары объектов (ключи и значения) и позволяющая получать значение, соответствующее каждому ключу, а также проверять, содержит ли коллекция определённый ключ или значение. Карты также позволяют перебирать ключи, значения или пары «ключ-значение» (записи). На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.

Ключи карты уникальны: для каждого ключа карта содержит только одно значение. При этом одно и то же значение может быть связано с несколькими уникальными ключами.

Способ определения уникальности ключей в Map зависит от реализации. Если не указано иное, реализации Map обычно различают элементы с помощью Any.equals. Однако это не единственный способ различать элементы: некоторые реализации могут использовать ссылочное равенство или сравнивать элементы по некоторым их свойствам. Рекомендуется явно указывать, как класс, реализующий Map, различает элементы.

Способ обработки ключей и значений null в Map также зависит от реализации: некоторые реализации Map могут их поддерживать, а другие — нет. При реализации Map рекомендуется явно определять политику допустимости null для ключей и значений.

Map не гарантирует определённый порядок перебора ключей, значений или записей. Однако конкретные реализации могут задавать фиксированный порядок перебора, например, когда в некотором смысле сначала посещаются «меньшие» ключи, а затем «большие». В этом случае рекомендуется явно документировать гарантии порядка для реализации Map.

В отличие от реализаций Collection, реализации Map должны переопределять функции Any.toString, Any.equals и Any.hashCode и предоставлять реализации, удовлетворяющие следующим условиям:

  • Map.toString должна возвращать строку, содержащую строковое представление содержащихся пар «ключ-значение» в порядке перебора.

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

  • Map.hashCode должна вычисляться как сумма хеш-кодов Entry, а хеш-код записи должен вычисляться как исключающее ИЛИ (XOR) хеш-кодов, соответствующих ключу и значению:

var hashCode: Int = 0
for ((k, v) in entries) hashCode += k.hashCode() xor v.hashCode()

Функции этого интерфейса обеспечивают только доступ к карте для чтения; доступ для чтения и записи предоставляется через интерфейс MutableMap.

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

K

тип ключей карты. Тип ключа карты инвариантен, поскольку карта может принимать ключ в качестве параметра (например, в containsKey) и возвращать его в наборе keys.

V

тип значений карты. Тип значения карты ковариантен.

Наследники

AbstractMap
MutableMap

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

actual interface Map<K, out V>

Коллекция, содержащая пары объектов (ключи и значения) и позволяющая получать значение, соответствующее каждому ключу, а также проверять, содержит ли коллекция определённый ключ или значение. Карты также позволяют перебирать ключи, значения или пары «ключ-значение» (записи). На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.

Ключи карты уникальны: для каждого ключа карта содержит только одно значение. При этом одно и то же значение может быть связано с несколькими уникальными ключами.

Способ определения уникальности ключей в Map зависит от реализации. Если не указано иное, реализации Map обычно различают элементы с помощью Any.equals. Однако это не единственный способ различать элементы: некоторые реализации могут использовать ссылочное равенство или сравнивать элементы по некоторым их свойствам. Рекомендуется явно указывать, как класс, реализующий Map, различает элементы.

Способ обработки ключей и значений null в Map также зависит от реализации: некоторые реализации Map могут их поддерживать, а другие — нет. При реализации Map рекомендуется явно определять политику допустимости null для ключей и значений.

В отличие от реализаций Collection, реализации Map должны переопределять функции Any.toString, Any.equals и Any.hashCode и предоставлять реализации, удовлетворяющие следующим условиям:

  • Map.toString должна возвращать строку, содержащую строковое представление содержащихся пар «ключ-значение» в порядке перебора.

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

  • Map.hashCode должна вычисляться как сумма хеш-кодов Entry, а хеш-код записи должен вычисляться как исключающее ИЛИ (XOR) хеш-кодов, соответствующих ключу и значению:

var hashCode: Int = 0
for ((k, v) in entries) hashCode += k.hashCode() xor v.hashCode()

Функции этого интерфейса обеспечивают только доступ к карте для чтения; доступ для чтения и записи предоставляется через интерфейс MutableMap.

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

K

тип ключей карты. Тип ключа карты инвариантен, поскольку карта может принимать ключ в качестве параметра (например, в containsKey) и возвращать его в наборе keys.

V

тип значений карты. Тип значения карты ковариантен.

Наследники

MutableMap

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

actual interface Map<K, out V>

Коллекция, содержащая пары объектов (ключи и значения) и позволяющая получать значение, соответствующее каждому ключу, а также проверять, содержит ли коллекция определённый ключ или значение. Карты также позволяют перебирать ключи, значения или пары «ключ-значение» (записи). На основе этой функциональности строятся сложные операции, предоставляемые в виде функций-расширений kotlin.collections.

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

Способ определения уникальности ключей в Map зависит от реализации. Если не указано иное, реализации Map обычно различают элементы с помощью Any.equals. Однако это не единственный способ различать элементы: некоторые реализации могут использовать ссылочное равенство или сравнивать элементы по некоторым их свойствам. Рекомендуется явно указывать, как класс, реализующий Map, различает элементы.

Способ обработки ключей и значений null в Map также зависит от реализации: некоторые реализации Map могут их поддерживать, а другие — нет. При реализации Map рекомендуется явно определять политику допустимости null для ключей и значений.

В отличие от реализаций Collection, реализации Map должны переопределять функции Any.toString, Any.equals и Any.hashCode и предоставлять реализации, удовлетворяющие следующим условиям:

  • Map.toString должна возвращать строку, содержащую строковое представление содержащихся пар «ключ-значение» в порядке перебора.

  • Map.equals должна считать две карты равными тогда и только тогда, когда они содержат одинаковые ключи, а значения, связанные с этими ключами, равны.

  • Map.hashCode должна вычисляться как сумма хеш-кодов Entry, а хеш-код записи должен вычисляться как исключающее ИЛИ (XOR) хеш-кодов, соответствующих ключу и значению:

var hashCode: Int = 0
for ((k, v) in entries) hashCode += k.hashCode() xor v.hashCode()

Функции этого интерфейса обеспечивают только доступ к карте для чтения; доступ для чтения и записи предоставляется через интерфейс MutableMap.

По соглашению, реализации Map обычно также реализуют java.io.Serializable.

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

K

тип ключей карты. Тип ключа карты инвариантен, поскольку карта может принимать ключ в качестве параметра (например, в containsKey) и возвращать его в наборе keys.

V

тип значений карты. Тип значения карты ковариантен.

Наследники

MutableMap

Типы

Entry

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

expect interface Entry<out K, out V>

Представляет пару ключ/значение, содержащуюся в Map.

Свойства

entries

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

expect abstract val entries: Set<Map.Entry<K, V>>

Возвращает неизменяемый Set всех пар ключ/значение в этой карте.

keys

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

expect abstract val keys: Set<K>

Возвращает неизменяемый Set всех ключей этой карты.

size

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

expect abstract val size: Int

Возвращает количество пар ключ/значение в карте.

values

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

expect abstract val values: Collection<V>

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

Функции

all

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

inline fun <K, V> Map<out K, V>.all(predicate: (Map.Entry<K, V>) -> Boolean): Boolean

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

any

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

fun <K, V> Map<out K, V>.any(): Boolean

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

inline fun <K, V> Map<out K, V>.any(predicate: (Map.Entry<K, V>) -> Boolean): Boolean

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

asIterable

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

inline fun <K, V> Map<out K, V>.asIterable(): Iterable<Map.Entry<K, V>>

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

asJsReadonlyMapView

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

@ExperimentalJsExport
@ExperimentalJsCollectionsApi
open fun asJsReadonlyMapView(): JsReadonlyMap<K, V>

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

asSequence

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

fun <K, V> Map<out K, V>.asSequence(): Sequence<Map.Entry<K, V>>

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

contains

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

inline operator fun <K, V> Map<out K, V>.contains(key: K): Boolean

Проверяет, содержит ли карта заданный ключ.

containsKey

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

expect abstract fun containsKey(key: K): Boolean

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

containsKey

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

inline fun <K> Map<out K, *>.containsKey(key: K): Boolean

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

containsValue

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

expect abstract fun containsValue(value: V): Boolean

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

containsValue

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

inline fun <K, V> Map<K, V>.containsValue(value: V): Boolean

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

count

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

inline fun <K, V> Map<out K, V>.count(): Int

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

inline fun <K, V> Map<out K, V>.count(predicate: (Map.Entry<K, V>) -> Boolean): Int

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

filter

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

inline fun <K, V> Map<out K, V>.filter(predicate: (Map.Entry<K, V>) -> Boolean): Map<K, V>

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

filterKeys

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

inline fun <K, V> Map<out K, V>.filterKeys(predicate: (K) -> Boolean): Map<K, V>

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

filterNot

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

inline fun <K, V> Map<out K, V>.filterNot(predicate: (Map.Entry<K, V>) -> Boolean): Map<K, V>

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

filterNotTo

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

@IgnorableReturnValue
inline fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterNotTo(destination: M, predicate: (Map.Entry<K, V>) -> Boolean): M

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

filterTo

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

@IgnorableReturnValue
inline fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterTo(destination: M, predicate: (Map.Entry<K, V>) -> Boolean): M

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

filterValues

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

inline fun <K, V> Map<out K, V>.filterValues(predicate: (V) -> Boolean): Map<K, V>

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

firstNotNullOf

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

inline fun <K, V, R : Any> Map<out K, V>.firstNotNullOf(transform: (Map.Entry<K, V>) -> R?): R

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

firstNotNullOfOrNull

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

inline fun <K, V, R : Any> Map<out K, V>.firstNotNullOfOrNull(transform: (Map.Entry<K, V>) -> R?): R?

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

flatMap

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

inline fun <K, V, R> Map<out K, V>.flatMap(transform: (Map.Entry<K, V>) -> Iterable<R>): List<R>

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

@JvmName(name = "flatMapSequence")
inline fun <K, V, R> Map<out K, V>.flatMap(transform: (Map.Entry<K, V>) -> Sequence<R>): List<R>

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

flatMapTo

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

@IgnorableReturnValue
inline fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo(destination: C, transform: (Map.Entry<K, V>) -> Iterable<R>): C

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

@JvmName(name = "flatMapSequenceTo")
@IgnorableReturnValue
inline fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo(destination: C, transform: (Map.Entry<K, V>) -> Sequence<R>): C

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

forEach

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

inline fun <K, V> Map<out K, V>.forEach(action: (Map.Entry<K, V>) -> Unit)

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

get

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

expect abstract operator fun get(key: K): V?

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

get

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

inline operator fun <K, V> Map<out K, V>.get(key: K): V?

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

getOrDefault

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

inline fun <K, V> Map<out K, V>.getOrDefault(key: K, defaultValue: V): V

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

getOrElse

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

inline fun <K, V> Map<K, V>.getOrElse(key: K, defaultValue: () -> V): V

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

getOrElseIfMissing

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

@ExperimentalStdlibApi
inline fun <K, V> Map<K, V>.getOrElseIfMissing(key: K, defaultValue: () -> V): V

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

getOrElseIfNull

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

@ExperimentalStdlibApi
inline fun <K, V> Map<K, V>.getOrElseIfNull(key: K, defaultValue: () -> V): V

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

getValue

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

fun <K, V> Map<K, V>.getValue(key: K): V

Возвращает значение для заданного ключа или выбрасывает исключение, если такого ключа нет в карте.

inline operator fun <V, V1 : V> Map<in String, V>.getValue(thisRef: Any?, property: KProperty<*>): V1

Возвращает значение свойства для заданного объекта из этой карты только для чтения.

isEmpty

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

expect abstract fun isEmpty(): Boolean

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

isNotEmpty

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

inline fun <K, V> Map<out K, V>.isNotEmpty(): Boolean

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

isNullOrEmpty

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

inline fun <K, V> Map<out K, V>?.isNullOrEmpty(): Boolean

Возвращает true, если эта nullable-карта равна null или пуста.

iterator

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

inline operator fun <K, V> Map<out K, V>.iterator(): Iterator<Map.Entry<K, V>>

Возвращает Iterator для элементов Map.

map

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

inline fun <K, V, R> Map<out K, V>.map(transform: (Map.Entry<K, V>) -> R): List<R>

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

mapKeys

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

inline fun <K, V, R> Map<out K, V>.mapKeys(transform: (Map.Entry<K, V>) -> R): Map<R, V>

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

mapKeysTo

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

@IgnorableReturnValue
inline fun <K, V, R, M : MutableMap<in R, in V>> Map<out K, V>.mapKeysTo(destination: M, transform: (Map.Entry<K, V>) -> R): M

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

mapNotNull

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

inline fun <K, V, R : Any> Map<out K, V>.mapNotNull(transform: (Map.Entry<K, V>) -> R?): List<R>

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

mapNotNullTo

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

@IgnorableReturnValue
inline fun <K, V, R : Any, C : MutableCollection<in R>> Map<out K, V>.mapNotNullTo(destination: C, transform: (Map.Entry<K, V>) -> R?): C

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

mapTo

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

@IgnorableReturnValue
inline fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.mapTo(destination: C, transform: (Map.Entry<K, V>) -> R): C

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

mapValues

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

inline fun <K, V, R> Map<out K, V>.mapValues(transform: (Map.Entry<K, V>) -> R): Map<K, R>

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

mapValuesTo

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

@IgnorableReturnValue
inline fun <K, V, R, M : MutableMap<in K, in R>> Map<out K, V>.mapValuesTo(destination: M, transform: (Map.Entry<K, V>) -> R): M

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

maxBy

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

@JvmName(name = "maxByOrThrow")
inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>

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

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?
maxByOrNull

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxByOrNull(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?

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

maxOf

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxOf(selector: (Map.Entry<K, V>) -> R): R
inline fun <K, V> Map<out K, V>.maxOf(selector: (Map.Entry<K, V>) -> Double): Double
inline fun <K, V> Map<out K, V>.maxOf(selector: (Map.Entry<K, V>) -> Float): Float

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

maxOfOrNull

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxOfOrNull(selector: (Map.Entry<K, V>) -> R): R?
inline fun <K, V> Map<out K, V>.maxOfOrNull(selector: (Map.Entry<K, V>) -> Double): Double?
inline fun <K, V> Map<out K, V>.maxOfOrNull(selector: (Map.Entry<K, V>) -> Float): Float?

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

maxOfWith

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

inline fun <K, V, R> Map<out K, V>.maxOfWith(comparator: Comparator<in R>, selector: (Map.Entry<K, V>) -> R): R

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

maxOfWithOrNull

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

inline fun <K, V, R> Map<out K, V>.maxOfWithOrNull(comparator: Comparator<in R>, selector: (Map.Entry<K, V>) -> R): R?

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

maxWith

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

@JvmName(name = "maxWithOrThrow")
inline fun <K, V> Map<out K, V>.maxWith(comparator: Comparator<in Map.Entry<K, V>>): Map.Entry<K, V>

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

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

inline fun <K, V> Map<out K, V>.maxWith(comparator: Comparator<in Map.Entry<K, V>>): Map.Entry<K, V>?
maxWithOrNull

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

inline fun <K, V> Map<out K, V>.maxWithOrNull(comparator: Comparator<in Map.Entry<K, V>>): Map.Entry<K, V>?

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

minBy

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

@JvmName(name = "minByOrThrow")
inline fun <K, V, R : Comparable<R>> Map<out K, V>.minBy(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>

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

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.minBy(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?
minByOrNull

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.minByOrNull(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?

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

minOf

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.minOf(selector: (Map.Entry<K, V>) -> R): R
inline fun <K, V> Map<out K, V>.minOf(selector: (Map.Entry<K, V>) -> Double): Double
inline fun <K, V> Map<out K, V>.minOf(selector: (Map.Entry<K, V>) -> Float): Float

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

minOfOrNull

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

inline fun <K, V, R : Comparable<R>> Map<out K, V>.minOfOrNull(selector: (Map.Entry<K, V>) -> R): R?
inline fun <K, V> Map<out K, V>.minOfOrNull(selector: (Map.Entry<K, V>) -> Double): Double?
inline fun <K, V> Map<out K, V>.minOfOrNull(selector: (Map.Entry<K, V>) -> Float): Float?

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

minOfWith

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

inline fun <K, V, R> Map<out K, V>.minOfWith(comparator: Comparator<in R>, selector: (Map.Entry<K, V>) -> R): R

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

minOfWithOrNull

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

inline fun <K, V, R> Map<out K, V>.minOfWithOrNull(comparator: Comparator<in R>, selector: (Map.Entry<K, V>) -> R): R?

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

minus

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

operator fun <K, V> Map<out K, V>.minus(key: K): Map<K, V>

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

operator fun <K, V> Map<out K, V>.minus(keys: Array<out K>): Map<K, V>

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

operator fun <K, V> Map<out K, V>.minus(keys: Iterable<K>): Map<K, V>

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

operator fun <K, V> Map<out K, V>.minus(keys: Sequence<K>): Map<K, V>

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

minWith

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

@JvmName(name = "minWithOrThrow")
inline fun <K, V> Map<out K, V>.minWith(comparator: Comparator<in Map.Entry<K, V>>): Map.Entry<K, V>

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

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

fun <K, V> Map<out K, V>.minWith(comparator: Comparator<in Map.Entry<K, V>>): Map.Entry<K, V>?
minWithOrNull

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

inline fun <K, V> Map<out K, V>.minWithOrNull(comparator: Comparator<in Map.Entry<K, V>>): Map.Entry<K, V>?

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

none

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

fun <K, V> Map<out K, V>.none(): Boolean

Возвращает true, если карта не содержит пар.

inline fun <K, V> Map<out K, V>.none(predicate: (Map.Entry<K, V>) -> Boolean): Boolean

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

orEmpty

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

inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V>

Возвращает Map, если она не null, иначе возвращает пустую Map.

plus

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

operator fun <K, V> Map<out K, V>.plus(pairs: Array<out Pair<K, V>>): Map<K, V>

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

operator fun <K, V> Map<out K, V>.plus(pair: Pair<K, V>): Map<K, V>

Создаёт новую карту только для чтения, заменяя или добавляя в эту карту пару ключ-значение из указанной пары.

operator fun <K, V> Map<out K, V>.plus(pairs: Iterable<Pair<K, V>>): Map<K, V>

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

operator fun <K, V> Map<out K, V>.plus(map: Map<out K, V>): Map<K, V>

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

operator fun <K, V> Map<out K, V>.plus(pairs: Sequence<Pair<K, V>>): Map<K, V>

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

toList

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

fun <K, V> Map<out K, V>.toList(): List<Pair<K, V>>

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

toMap

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

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

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

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

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

toMutableMap

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

fun <K, V> Map<out K, V>.toMutableMap(): MutableMap<K, V>

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

toProperties

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

inline fun Map<String, String>.toProperties(): Properties

Преобразует эту Map в объект Properties.

toSortedMap

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

fun <K : Comparable<K>, V> Map<out K, V>.toSortedMap(): SortedMap<K, V>

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

fun <K, V> Map<out K, V>.toSortedMap(comparator: Comparator<in K>): SortedMap<K, V>

Преобразует эту Map в SortedMap. Полученная SortedMap определяет равенство и порядок ключей в соответствии с порядком сортировки, заданным указанным компаратором.

withDefault

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

fun <K, V> Map<K, V>.withDefault(defaultValue: (key: K) -> V): Map<K, V>

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

© 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/-map/index.html

Spec-Zone.ru

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