Map
interface Map<K, out V>
Коллекция, которая хранит пары объектов (ключи и значения) и поддерживает эффективное получение значения, соответствующего каждому ключу. Ключи Map уникальны; карта содержит только одно значение для каждого ключа. Методы в этом интерфейсе поддерживают только чтение карты; доступ для чтения и записи поддерживается через интерфейс MutableMap.
Параметры
K - тип ключей карты. Карта инвариантна по типу ключа, так как она может принимать ключ в качестве параметра (например, в containsKey) и возвращать его в наборе keys.
V - тип значений карты. Карта ковариативна по типу значения.
Типы
Свойства
entries
Возвращает набор Set всех пар ключ/значение в этой карте.
abstract val entries: Set<Entry<K, V>>
keys
Возвращает набор Set всех ключей в этой карте.
abstract val keys: Set<K>
size
Возвращает количество пар ключ/значение в карте.
abstract val size: Int
values
Возвращает коллекцию Collection всех значений в этой карте. Обратите внимание, что эта коллекция может содержать дубликаты значений.
abstract val values: Collection<V>
Функции
containsKey
Возвращает true если карта содержит указанный ключ.
abstract fun containsKey(key: K): Boolean
containsValue
Возвращает true если карта отображает один или несколько ключей на указанное значение.
abstract fun containsValue(value: V): Boolean
get
Возвращает значение, соответствующее заданному ключу, или null если такого ключа нет в карте.
abstract operator fun get(key: K): V?
getOrDefault
Возвращает значение, соответствующее заданному ключу, или defaultValue если такого ключа нет в карте.
open fun getOrDefault(key: K, defaultValue: V): V
isEmpty
Возвращает true если карта пуста (не содержит элементов), false в противном случае.
abstract fun isEmpty(): Boolean
Дополнительные функции
все
Возвращает true если все записи соответствуют заданному
fun <K, V> Map<out K, V>.all(
predicate: (Entry<K, V>) -> Boolean
): Boolean
любой
Возвращает true если карта имеет по крайней мере одну запись.
fun <K, V> Map<out K, V>.any(): Boolean
Возвращает true если по крайней мере одна запись соответствует заданному
fun <K, V> Map<out K, V>.any(
predicate: (Entry<K, V>) -> Boolean
): Boolean
asIterable
Создает экземпляр Iterable, который оборачивает исходную карту, возвращая ее записи при итерировании.
fun <K, V> Map<out K, V>.asIterable(): Iterable<Entry<K, V>>
asSequence
Создает экземпляр Sequence, который оборачивает исходную карту, возвращая ее записи при итерировании.
fun <K, V> Map<out K, V>.asSequence(): Sequence<Entry<K, V>>
содержит
Проверяет, содержит ли карта заданный ключ.
operator fun <K, V> Map<out K, V>.contains(key: K): Boolean
содержит ключ
Возвращает true если карта содержит указанный
fun <K> Map<out K, *>.containsKey(key: K): Boolean
содержит значение
Возвращает true если карта отображает один или несколько ключей на указанное
fun <K, V> Map<K, V>.containsValue(value: V): Boolean
количество
Возвращает количество записей в этой карте.
fun <K, V> Map<out K, V>.count(): Int
Возвращает количество записей, соответствующих заданному
fun <K, V> Map<out K, V>.count(
predicate: (Entry<K, V>) -> Boolean
): Int
фильтр
Возвращает новую карту, содержащую все пары ключ-значение, соответствующие заданному
fun <K, V> Map<out K, V>.filter(
predicate: (Entry<K, V>) -> Boolean
): Map<K, V>
фильтр ключей
Возвращает карту, содержащую все пары ключ-значение с ключами, соответствующими заданному
fun <K, V> Map<out K, V>.filterKeys(
predicate: (K) -> Boolean
): Map<K, V>
исключение фильтрации
Возвращает новую карту, содержащую все пары ключ-значение, не соответствующие заданному
fun <K, V> Map<out K, V>.filterNot(
predicate: (Entry<K, V>) -> Boolean
): Map<K, V>
исключение фильтрации в
Добавляет все записи, не соответствующие заданному .
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterNotTo( destination: M, predicate: (Entry<K, V>) -> Boolean ): M
фильтр в
Добавляет все записи, соответствующие заданному .
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterTo( destination: M, predicate: (Entry<K, V>) -> Boolean ): M
filterValues
Возвращает карту, содержащую все пары ключ-значение, значения которых соответствуют заданному
fun <K, V> Map<out K, V>.filterValues(
predicate: (V) -> Boolean
): Map<K, V>
firstNotNullOf
Возвращает первое непустое значение, полученное функцией NoSuchElementException, если не было получено ни одного непустого значения.
fun <K, V, R : Any> Map<out K, V>.firstNotNullOf( transform: (Entry<K, V>) -> R? ): R
firstNotNullOfOrNull
Возвращает первое непустое значение, полученное функцией
fun <K, V, R : Any> Map<out K, V>.firstNotNullOfOrNull(
transform: (Entry<K, V>) -> R?
): R?
flatMap
Возвращает единственный список всех элементов, полученных в результате выполнения функции
fun <K, V, R> Map<out K, V>.flatMap(
transform: (Entry<K, V>) -> Iterable<R>
): List<R>
fun <K, V, R> Map<out K, V>.flatMap( transform: (Entry<K, V>) -> Sequence<R> ): List<R>
map
Возвращает список, содержащий результаты применения заданной функции transform к каждой записи в исходном отображении.
fun <K, V, R> Map<out K, V>.map( transform: (Entry<K, V>) -> R ): List<R>
mapKeys
mapKeysTo
Заполняет заданное отображение destination записями, имеющими ключи, полученные путем применения функции transform к каждой записи в этом отображении Map и значениями этого отображения.
fun <K, V, R, M : MutableMap<in R, in V>> Map<out K, V>.mapKeysTo( destination: M, transform: (Entry<K, V>) -> R ): M
mapNotNull
Возвращает список, содержащий только непустые результаты применения заданной функции transform к каждой записи в исходном отображении.
fun <K, V, R : Any> Map<out K, V>.mapNotNull( transform: (Entry<K, V>) -> R? ): List<R>
mapNotNullTo
Применяет заданную функцию transform к каждой записи в исходном отображении и добавляет только непустые результаты в заданный destination.
fun <K, V, R : Any, C : MutableCollection<in R>> Map<out K, V>.mapNotNullTo( destination: C, transform: (Entry<K, V>) -> R? ): C
mapTo
Применяет заданную функцию transform к каждой записи исходного отображения и добавляет результаты в заданный destination.
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.mapTo( destination: C, transform: (Entry<K, V>) -> R ): C
mapValues
mapValuesTo
Заполняет заданное отображение destination записями, имеющими ключи этого отображения и значениями, полученными путем применения функции transform к каждой записи в этом отображении Map.
fun <K, V, R, M : MutableMap<in K, in R>> Map<out K, V>.mapValuesTo( destination: M, transform: (Entry<K, V>) -> R ): M
maxByOrNull
Возвращает первую запись, дающую наибольшее значение заданной функции, или null если таких записей нет.
fun <K, V, R : Comparable<R>> Map<out K, V>.maxByOrNull( selector: (Entry<K, V>) -> R ): Entry<K, V>?
maxOf
Возвращает наибольшее значение среди всех значений, полученных функцией selector, применённой к каждой записи в отображении.
fun <K, V> Map<out K, V>.maxOf( selector: (Entry<K, V>) -> Double ): Double
fun <K, V> Map<out K, V>.maxOf( selector: (Entry<K, V>) -> Float ): Float
fun <K, V, R : Comparable<R>> Map<out K, V>.maxOf( selector: (Entry<K, V>) -> R ): R
maxOfOrNull
Возвращает наибольшее значение среди всех значений, полученных функцией selector, применённой к каждой записи в отображении, или null если записей нет.
fun <K, V> Map<out K, V>.maxOfOrNull( selector: (Entry<K, V>) -> Double ): Double?
fun <K, V> Map<out K, V>.maxOfOrNull( selector: (Entry<K, V>) -> Float ): Float?
fun <K, V, R : Comparable<R>> Map<out K, V>.maxOfOrNull( selector: (Entry<K, V>) -> R ): R?
maxOfWith
Возвращает наибольшее значение согласно предоставленному компаратору среди всех значений, полученных функцией selector, применённой к каждой записи в отображении.
fun <K, V, R> Map<out K, V>.maxOfWith( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R
maxOfWithOrNull
Возвращает наибольшее значение согласно предоставленному компаратору среди всех значений, полученных функцией selector, применённой к каждой записи в отображении, или null если записей нет.
fun <K, V, R> Map<out K, V>.maxOfWithOrNull( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R?
maxWith
Возвращает первую запись с наибольшим значением согласно предоставленному компаратору.
fun <K, V> Map<out K, V>.maxWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>
fun <K, V> Map<out K, V>.maxWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
maxWithOrNull
Возвращает первую запись с наибольшим значением согласно предоставленному компаратору или null если записей нет.
fun <K, V> Map<out K, V>.maxWithOrNull( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
minByOrNull
Возвращает первую запись, возвращающую наименьшее значение заданной функции или null если записей нет.
fun <K, V, R : Comparable<R>> Map<out K, V>.minByOrNull( selector: (Entry<K, V>) -> R ): Entry<K, V>?
minOf
Возвращает наименьшее значение среди всех значений, полученных функцией selector, применённой к каждой записи в отображении.
fun <K, V> Map<out K, V>.minOf( selector: (Entry<K, V>) -> Double ): Double
fun <K, V> Map<out K, V>.minOf( selector: (Entry<K, V>) -> Float ): Float
fun <K, V, R : Comparable<R>> Map<out K, V>.minOf( selector: (Entry<K, V>) -> R ): R
minOfOrNull
Возвращает наименьшее значение среди всех значений, полученных функцией selector, применённой к каждой записи в отображении, или null если записей нет.
fun <K, V> Map<out K, V>.minOfOrNull( selector: (Entry<K, V>) -> Double ): Double?
fun <K, V> Map<out K, V>.minOfOrNull( selector: (Entry<K, V>) -> Float ): Float?
fun <K, V, R : Comparable<R>> Map<out K, V>.minOfOrNull( selector: (Entry<K, V>) -> R ): R?
minOfWith
Возвращает наименьшее значение согласно предоставленному компаратору среди всех значений, полученных функцией selector, применённой к каждой записи в отображении.
fun <K, V, R> Map<out K, V>.minOfWith( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R
minOfWithOrNull
Возвращает наименьшее значение согласно предоставленному компаратору среди всех значений, полученных функцией selector, применённой к каждой записи в отображении, или null если записей нет.
fun <K, V, R> Map<out K, V>.minOfWithOrNull( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R?
minus
Возвращает карту, содержащую все записи исходной карты, кроме записи с заданным ключом.
operator fun <K, V> Map<out K, V>.minus(key: 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: Array<out K> ): Map<K, V>
Возвращает карту, содержащую все записи исходной карты, кроме тех записей, ключи которых содержатся в заданной последовательности ключей.
operator fun <K, V> Map<out K, V>.minus( keys: Sequence<K> ): Map<K, V>
minWith
Возвращает первую запись с наименьшим значением в соответствии с предоставленным
fun <K, V> Map<out K, V>.minWith(
comparator: Comparator<in Entry<K, V>>
): Entry<K, V>
fun <K, V> Map<out K, V>.minWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
minWithOrNull
Возвращает первую запись с наименьшим значением в соответствии с предоставленным
fun <K, V> Map<out K, V>.minWithOrNull(
comparator: Comparator<in Entry<K, V>>
): Entry<K, V>?
none
Возвращает true , если в карте нет записей.
fun <K, V> Map<out K, V>.none(): Boolean
Возвращает true , если ни одна запись не соответствует заданному
fun <K, V> Map<out K, V>.none(
predicate: (Entry<K, V>) -> Boolean
): Boolean
onEach
Выполняет заданное
fun <K, V, M : Map<out K, V>> M.onEach(
action: (Entry<K, V>) -> Unit
): M
onEachIndexed
orEmpty
plus
Создает новую карту только для чтения, заменяя или добавляя запись в эту карту из заданной пары ключ-значение
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(
pairs: Array<out Pair<K, V>>
): Map<K, V>
Создает новую карту только для чтения, заменяя или добавляя записи в эту карту из заданной последовательности пар ключ-значение
operator fun <K, V> Map<out K, V>.plus(
pairs: Sequence<Pair<K, V>>
): Map<K, V>
Создает новую карту только для чтения, заменяя или добавляя записи в эту карту из другой
operator fun <K, V> Map<out K, V>.plus(
map: Map<out K, V>
): Map<K, V>
toList
Возвращает Список, содержащий все пары ключ-значение.
fun <K, V> Map<out K, V>.toList(): List<Pair<K, V>>
toMap
Возвращает новую неизменяемую карту, содержащую все пары ключ-значение из исходной карты.
fun <K, V> Map<out K, V>.toMap(): Map<K, V>
Заполняет и возвращает изменяемую карту назначения парами ключ-значение из заданной карты.
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.toMap( destination: M ): M
toMutableMap
Возвращает новую изменяемую карту, содержащую все пары ключ-значение из исходной карты.
fun <K, V> Map<out K, V>.toMutableMap(): MutableMap<K, V>
toProperties
Преобразует эту карту Map в объект Properties.
fun Map<String, String>.toProperties(): Properties
toSortedMap
Преобразует эту карту Map в SortedMap. Результирующая SortedMap определяет равенство и порядок ключей в соответствии с их естественным порядком сортировки.
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>
withDefault
Возвращает обёртку этой неизменяемой карты, имеющей неявное значение по умолчанию, предоставленное с помощью указанной функции defaultValue.
fun <K, V> Map<K, V>.withDefault( defaultValue: (key: K) -> V ): Map<K, V>
Наследники
AbstractMap
Предоставляет скелетное реализацию интерфейса карты Map.
abstract class AbstractMap<K, out V> : Map<K, V>
MutableMap
Изменяемый набор, хранящий пары объектов (ключи и значения) и поддерживающий эффективное извлечение значения, соответствующего каждому ключу. Ключи карты уникальны; карта содержит только одно значение для каждого ключа.
interface MutableMap<K, V> : Map<K, V>
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html