HashMap
class HashMap<K, V> : MutableMap<K, V>
typealias HashMap<K, V> = HashMap<K, V>
open class HashMap<K, V> : AbstractMutableMap<K, V>, MutableMap<K, V>
Реализация интерфейса MutableMap на основе хеш-таблицы.
Данная реализация не гарантирует порядок перечисления коллекций ключей, значений и пар ключ-значение.
Конструкторы
<init>
Создаёт пустой экземпляр HashMap.
<init>()
<init>(initialCapacity: Int, loadFactor: Float)
<init>(initialCapacity: Int, loadFactor: Float = 0.0f)
<init>(initialCapacity: Int)
Создаёт экземпляр HashMap, заполненный содержимым указанной исходной карты.
<init>(original: Map<out K, V>)
Свойства
entries
Возвращает MutableSet всех пар ключ/значение в этой карте.
val entries: MutableSet<MutableEntry<K, V>>
open val entries: MutableSet<MutableEntry<K, V>>
keys
Возвращает MutableSet всех ключей в этой карте.
val keys: MutableSet<K>
size
Возвращает количество пар ключ/значение в карте.
val size: Int
open val size: Int
values
Возвращает MutableCollection всех значений в этой карте. Обратите внимание, что эта коллекция может содержать повторяющиеся значения.
val values: MutableCollection<V>
Функции
очистить
Удаляет все элементы из этого набора.
fun clear()
open fun clear()
содержит ключ
Возвращает true , если карта содержит указанный ключ.
fun containsKey(key: K): Boolean
open fun containsKey(key: K): Boolean
содержит значение
Возвращает true , если карта отображает один или несколько ключей на указанное значение.
fun containsValue(value: V): Boolean
open fun containsValue(value: V): Boolean
создать набор записей
open fun createEntrySet(): MutableSet<MutableEntry<K, V>>
равен
Указывает, является ли какой-либо другой объект "равным" этому объекту. Реализации должны удовлетворять следующим требованиям:
fun equals(other: Any?): Boolean
получить
Возвращает значение, соответствующее заданному ключу, или null , если такой ключ отсутствует в карте.
operator fun get(key: K): V?
open operator fun get(key: K): V?
код хэша
Возвращает значение кода хэша для объекта. Общий контракт hashCode :
fun hashCode(): Int
пустой
Возвращает true , если карта пуста (не содержит элементов), false в противном случае.
fun isEmpty(): Boolean
добавить все
Обновляет эту карту парами ключ/значение из указанной карты from.
fun putAll(from: Map<out K, V>)
удалить
Удаляет указанный ключ и соответствующее ему значение из этой карты.
fun remove(key: K): V?
open fun remove(key: K): V?
представление строки
Возвращает строковое представление объекта.
fun toString(): String
Наследуемые функции
пустой
open 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>
flatMap
Возвращает один список всех элементов, полученных в результате вызова функции transform, которая вызывается для каждой записи исходной карты.
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>
flatMapTo
Добавляет все элементы, полученные в результате вызова функции transform, которая вызывается для каждой записи исходной карты, в заданный destination.
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo( destination: C, transform: (Entry<K, V>) -> Iterable<R> ): C
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo( destination: C, transform: (Entry<K, V>) -> Sequence<R> ): C
forEach
Выполняет заданное действие для каждой записи.
fun <K, V> Map<out K, V>.forEach( action: (Entry<K, V>) -> Unit)
get
Возвращает значение, соответствующее заданному ключу, или null если такого ключа нет в карте.
operator fun <K, V> Map<out K, V>.get(key: K): V?
getOrElse
Возвращает значение для заданного ключа или результат функции defaultValue, если для заданного ключа не было записи.
fun <K, V> Map<K, V>.getOrElse( key: K, defaultValue: () -> V ): V
getOrPut
Возвращает значение для заданного ключа. Если ключ не найден в карте, вызывает функцию defaultValue, помещает её результат в карту под заданным ключом и возвращает его.
fun <K, V> MutableMap<K, V>.getOrPut( key: K, defaultValue: () -> V ): V
getValue
Возвращает значение для заданного ключа или вызывает исключение, если такого ключа нет в карте.
fun <K, V> Map<K, V>.getValue(key: K): V
ifEmpty
Возвращает эту карту, если она не пуста, или результат вызова функции defaultValue, если карта пуста.
fun <M, R> M.ifEmpty( defaultValue: () -> R ): R where M : Map<*, *>, M : R
isNotEmpty
Возвращает true, если эта карта не пуста.
fun <K, V> Map<out K, V>.isNotEmpty(): Boolean
isNullOrEmpty
Возвращает true, если эта допускающая значение null карта является либо null, либо пустой.
fun <K, V> Map<out K, V>?.isNullOrEmpty(): Boolean
map
Возвращает список, содержащий результаты применения заданной функции transform к каждой записи в исходной карте.
fun <K, V, R> Map<out K, V>.map( transform: (Entry<K, V>) -> R ): List<R>
mapKeys
mapKeysTo
Заполняет заданный словарь-назначение записями, имеющими ключи, полученные путём применения функции преобразования к каждой записи в этом словаре, и значениями текущего словаря.
fun <K, V, R, M : MutableMap<in R, in V>> Map<out K, V>.mapKeysTo( destination: M, transform: (Entry<K, V>) -> R ): M
mapNotNull
Возвращает список, содержащий только те результаты, которые не равны null, полученные путём применения заданной функции преобразования к каждой записи в исходном словаре.
fun <K, V, R : Any> Map<out K, V>.mapNotNull( transform: (Entry<K, V>) -> R? ): List<R>
mapNotNullTo
Применяет заданную функцию преобразования к каждой записи в исходном словаре и добавляет только те результаты, которые не равны null, в заданный словарь-назначение.
fun <K, V, R : Any, C : MutableCollection<in R>> Map<out K, V>.mapNotNullTo( destination: C, transform: (Entry<K, V>) -> R? ): C
mapTo
Применяет заданную функцию преобразования к каждой записи в исходном словаре и добавляет результаты в заданный словарь-назначение.
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.mapTo( destination: C, transform: (Entry<K, V>) -> R ): C
mapValues
Возвращает новый словарь с записями, имеющими ключи текущего словаря и значениями, полученными путём применения функции преобразования к каждой записи в этом словаре.
fun <K, V, R> Map<out K, V>.mapValues( transform: (Entry<K, V>) -> R ): Map<K, R>
mapValuesTo
Заполняет заданный словарь-назначение записями, имеющими ключи текущего словаря и значениями, полученными путём применения функции преобразования к каждой записи в этом словаре.
fun <K, V, R, M : MutableMap<in K, in R>> Map<out K, V>.mapValuesTo( destination: M, transform: (Entry<K, V>) -> R ): M
maxBy
fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy( selector: (Entry<K, V>) -> R ): Entry<K, V>?
maxByOrNull
Возвращает первую запись, дающую наибольшее значение заданной функции, или null если записей нет.
fun <K, V, R : Comparable<R>> Map<out K, V>.maxByOrNull( selector: (Entry<K, V>) -> R ): Entry<K, V>?
maxOf
Возвращает наибольшее значение среди всех значений, полученных путём применения функции выборщика к каждой записи в словаре.
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
Возвращает наибольшее значение среди всех значений, полученных путём применения функции выборщика к каждой записи в словаре, или 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
Возвращает наибольшее значение в соответствии с предоставленным компаратором среди всех значений, полученных при применении селектора функции к каждой записи в карте.
fun <K, V, R> Map<out K, V>.maxOfWith( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R
maxOfWithOrNull
Возвращает наибольшее значение в соответствии с предоставленным компаратором среди всех значений, полученных при применении селектора функции к каждой записи в карте или 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>?
maxWithOrNull
Возвращает первую запись с наибольшим значением в соответствии с предоставленным компаратором или null в случае отсутствия записей.
fun <K, V> Map<out K, V>.maxWithOrNull( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
minBy
fun <K, V, R : Comparable<R>> Map<out K, V>.minBy( selector: (Entry<K, V>) -> R ): 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
Возвращает наименьшее значение среди всех значений, полученных при применении селектора функции к каждой записи в карте.
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
Возвращает наименьшее значение среди всех значений, полученных при применении селектора функции к каждой записи в карте или 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
Возвращает наименьшее значение в соответствии с предоставленным компаратором среди всех значений, полученных при применении селектора функции к каждой записи в карте.
fun <K, V, R> Map<out K, V>.minOfWith( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R
minOfWithOrNull
Возвращает наименьшее значение в соответствии с предоставленным компаратором среди всех значений, полученных при применении селектора функции к каждой записи в карте или 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>
minusAssign
Удаляет запись с заданным ключом из этой изменяемой карты.
operator fun <K, V> MutableMap<K, V>.minusAssign(key: K)
Удаляет все записи, ключи которых содержатся в заданном наборе ключей, из этой изменяемой карты.
operator fun <K, V> MutableMap<K, V>.minusAssign( keys: Iterable<K>)
Удаляет все записи, ключи которых содержатся в заданном массиве ключей, из этой изменяемой карты.
operator fun <K, V> MutableMap<K, V>.minusAssign( keys: Array<out K>)
Удаляет все записи из ключей которых содержатся в заданной последовательности ключей из этой изменяемой карты.
operator fun <K, V> MutableMap<K, V>.minusAssign( keys: Sequence<K>)
minWith
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>
plusAssign
Добавляет или заменяет заданную пару в этой изменяемой карте.
operator fun <K, V> MutableMap<in K, in V>.plusAssign( pair: Pair<K, V>)
Добавляет или заменяет все пары из заданного набора пар в этой изменяемой карте.
operator fun <K, V> MutableMap<in K, in V>.plusAssign( pairs: Iterable<Pair<K, V>>)
Добавляет или заменяет все пары из заданного массива пар в этой изменяемой карте.
operator fun <K, V> MutableMap<in K, in V>.plusAssign( pairs: Array<out Pair<K, V>>)
Добавляет или заменяет все пары из заданной последовательности пар в этой изменяемой карте.
operator fun <K, V> MutableMap<in K, in V>.plusAssign( pairs: Sequence<Pair<K, V>>)
Добавляет или заменяет все записи из заданной карты в этой изменяемой карте.
operator fun <K, V> MutableMap<in K, in V>.plusAssign( map: Map<K, V>)
putAll
Добавляет все заданные пары в эту MutableMap, где первый компонент пары является ключом, а второй — значением.
fun <K, V> MutableMap<in K, in V>.putAll( pairs: Array<out Pair<K, V>>)
Добавляет все элементы заданного набора в эту MutableMap, где первый компонент пары является ключом, а второй — значением.
fun <K, V> MutableMap<in K, in V>.putAll( pairs: Iterable<Pair<K, V>>)
Добавляет все элементы заданной последовательности в эту MutableMap, где первый компонент пары является ключом, а второй — значением.
fun <K, V> MutableMap<in K, in V>.putAll( pairs: Sequence<Pair<K, V>>)
remove
Удаляет указанный ключ и соответствующее ему значение из этой карты.
fun <K, V> MutableMap<out K, V>.remove(key: K): V?
set
Позволяет использовать оператор индекса для хранения значений в изменяемой карте.
operator fun <K, V> MutableMap<K, V>.set(key: K, value: V)
setValue
Хранит значение свойства для данного объекта в этой изменяемой карте.
operator fun <V> MutableMap<in String, in V>.setValue( thisRef: Any?, property: KProperty<*>, value: 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>
withDefault
Возвращает обёртку этой неизменяемой карты, имеющей неявное значение по умолчанию, заданное функцией с указанным значением по умолчанию defaultValue.
fun <K, V> Map<K, V>.withDefault( defaultValue: (key: K) -> V ): Map<K, V>
Возвращает обёртку этой изменяемой карты, имеющей неявное значение по умолчанию, заданное функцией с указанным значением по умолчанию defaultValue.
fun <K, V> MutableMap<K, V>.withDefault( defaultValue: (key: K) -> V ): MutableMap<K, V>
Наследники
LinkedHashMap
Реализация интерфейса MutableMap на основе хеш-таблицы, которая дополнительно сохраняет порядок вставки элементов во время итерации.
class LinkedHashMap<K, V> : MutableMap<K, V>
typealias LinkedHashMap<K, V> = LinkedHashMap<K, V>
open class LinkedHashMap<K, V> : HashMap<K, V>, MutableMap<K, V>
typealias LinkedHashMap<K, V> = HashMap<K, V>
© 2010–2020 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/-hash-map/index.html