Map
A collection that holds pairs of objects (keys and values) and supports efficiently retrieving the value corresponding to each key. Map keys are unique; the map holds only one value for each key. Methods in this interface support only read-only access to the map; read-write access is supported through the MutableMap interface.
Parameters
K - the type of map keys. The map is invariant in its key type, as it
can accept key as a parameter (of containsKey for example) and return it in keys set.
V - the type of map values. The map is covariant in its value type.
Types
Properties
size
Returns the number of key/value pairs in the map.
abstract val size: Intvalues
Returns a read-only Collection of all values in this map. Note that this collection may contain duplicate values.
abstract val values: Collection<V>Functions
containsKey
Returns true if the map contains the specified key.
abstract fun containsKey(key: K): BooleancontainsValue
Returns true if the map maps one or more keys to the specified value.
abstract fun containsValue(value: V): Booleanget
Returns the value corresponding to the given key, or null if such a key is not present in the map.
abstract operator fun get(key: K): V?getOrDefault
Returns the value corresponding to the given key, or defaultValue if such a key is not present in the map.
open fun getOrDefault(key: K, defaultValue: V): VisEmpty
Returns true if the map is empty (contains no elements), false otherwise.
abstract fun isEmpty(): BooleanExtension Functions
contains
Checks if the map contains the given key.
operator fun <K, V> Map<out K, V>.contains(key: K): BooleanfilterNotTo
Appends all entries not matching the given predicate into the given destination.
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterNotTo(
destination: M,
predicate: (Entry<K, V>) -> Boolean
): MfilterTo
Appends all entries matching the given predicate into the mutable map given as destination parameter.
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterTo(
destination: M,
predicate: (Entry<K, V>) -> Boolean
): MfirstNotNullOf
Returns the first non-null value produced by transform function being applied to entries of this map in iteration order, or throws NoSuchElementException if no non-null value was produced.
flatMapTo
Appends all elements yielded from results of transform function being invoked on each entry of original map, to the given destination.
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo(
destination: C,
transform: (Entry<K, V>) -> Iterable<R>
): Cfun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo(
destination: C,
transform: (Entry<K, V>) -> Sequence<R>
): CgetOrDefault
Returns the value to which the specified key is mapped, or defaultValue if this map contains no mapping for the key.
fun <K, V> Map<out K, V>.getOrDefault(
key: K,
defaultValue: V
): VgetOrElse
Returns the value for the given key if the value is present and not null.
Otherwise, returns the result of the defaultValue function.
fun <K, V> Map<K, V>.getOrElse(
key: K,
defaultValue: () -> V
): VgetValue
Returns the value of the property for the given object from this read-only map.
isNotEmpty
Returns true if this map is not empty.
fun <K, V> Map<out K, V>.isNotEmpty(): BooleanisNullOrEmpty
Returns true if this nullable map is either null or empty.
fun <K, V> Map<out K, V>?.isNullOrEmpty(): BooleanmapKeysTo
Populates the given destination map with entries having the keys obtained by applying the transform function to each entry in this Map and the values of this map.
fun <K, V, R, M : MutableMap<in R, in V>> Map<out K, V>.mapKeysTo(
destination: M,
transform: (Entry<K, V>) -> R
): MmapNotNullTo
Applies the given transform function to each entry in the original map and appends only the non-null results to the given destination.
fun <K, V, R : Any, C : MutableCollection<in R>> Map<out K, V>.mapNotNullTo(
destination: C,
transform: (Entry<K, V>) -> R?
): CmapTo
Applies the given transform function to each entry of the original map and appends the results to the given destination.
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.mapTo(
destination: C,
transform: (Entry<K, V>) -> R
): CmapValuesTo
Populates the given destination map with entries having the keys of this map and the values obtained by applying the transform function to each entry in this Map.
fun <K, V, R, M : MutableMap<in K, in R>> Map<out K, V>.mapValuesTo(
destination: M,
transform: (Entry<K, V>) -> R
): MmaxByOrNull
Returns the first entry yielding the largest value of the given function or null if there are no entries.
fun <K, V, R : Comparable<R>> Map<out K, V>.maxByOrNull(
selector: (Entry<K, V>) -> R
): Entry<K, V>?maxOf
Returns the largest value among all values produced by selector function applied to each entry in the map.
fun <K, V, R : Comparable<R>> Map<out K, V>.maxOf(
selector: (Entry<K, V>) -> R
): RmaxOfOrNull
Returns the largest value among all values produced by selector function
applied to each entry in the map or null if there are no entries.
fun <K, V, R : Comparable<R>> Map<out K, V>.maxOfOrNull(
selector: (Entry<K, V>) -> R
): R?maxOfWith
Returns the largest value according to the provided comparator among all values produced by selector function applied to each entry in the map.
fun <K, V, R> Map<out K, V>.maxOfWith(
comparator: Comparator<in R>,
selector: (Entry<K, V>) -> R
): RmaxOfWithOrNull
Returns the largest value according to the provided comparator
among all values produced by selector function applied to each entry in the map or null if there are no entries.
fun <K, V, R> Map<out K, V>.maxOfWithOrNull(
comparator: Comparator<in R>,
selector: (Entry<K, V>) -> R
): R?maxWith
Returns the first entry having the largest value according to the provided comparator.
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
Returns the first entry having the largest value according to the provided comparator or null if there are no entries.
fun <K, V> Map<out K, V>.maxWithOrNull(
comparator: Comparator<in Entry<K, V>>
): Entry<K, V>?minByOrNull
Returns the first entry yielding the smallest value of the given function or null if there are no entries.
fun <K, V, R : Comparable<R>> Map<out K, V>.minByOrNull(
selector: (Entry<K, V>) -> R
): Entry<K, V>?minOf
Returns the smallest value among all values produced by selector function applied to each entry in the map.
fun <K, V, R : Comparable<R>> Map<out K, V>.minOf(
selector: (Entry<K, V>) -> R
): RminOfOrNull
Returns the smallest value among all values produced by selector function
applied to each entry in the map or null if there are no entries.
fun <K, V, R : Comparable<R>> Map<out K, V>.minOfOrNull(
selector: (Entry<K, V>) -> R
): R?minOfWith
Returns the smallest value according to the provided comparator among all values produced by selector function applied to each entry in the map.
fun <K, V, R> Map<out K, V>.minOfWith(
comparator: Comparator<in R>,
selector: (Entry<K, V>) -> R
): RminOfWithOrNull
Returns the smallest value according to the provided comparator
among all values produced by selector function applied to each entry in the map or null if there are no entries.
fun <K, V, R> Map<out K, V>.minOfWithOrNull(
comparator: Comparator<in R>,
selector: (Entry<K, V>) -> R
): R?minus
Returns a map containing all entries of the original map except the entry with the given key.
Returns a map containing all entries of the original map except those entries the keys of which are contained in the given keys collection.
Returns a map containing all entries of the original map except those entries the keys of which are contained in the given keys array.
minWith
Returns the first entry having the smallest value according to the provided comparator.
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
Returns the first entry having the smallest value according to the provided comparator or null if there are no entries.
fun <K, V> Map<out K, V>.minWithOrNull(
comparator: Comparator<in Entry<K, V>>
): Entry<K, V>?plus
Creates a new read-only map by replacing or adding an entry to this map from a given key-value pair.
Creates a new read-only map by replacing or adding entries to this map from a given collection of key-value pairs.
Creates a new read-only map by replacing or adding entries to this map from a given array of key-value pairs.
Creates a new read-only map by replacing or adding entries to this map from a given sequence of key-value pairs.
toMap
Returns a new read-only map containing all key-value pairs from the original map.
Populates and returns the destination mutable map with key-value pairs from the given map.
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.toMap(
destination: M
): MtoMutableMap
Returns a new mutable map containing all key-value pairs from the original map.
fun <K, V> Map<out K, V>.toMutableMap(): MutableMap<K, V>toProperties
Converts this Map to a Properties object.
fun Map<String, String>.toProperties(): PropertiestoSortedMap
Converts this Map to a SortedMap. The resulting SortedMap determines the equality and order of keys according to their natural sorting order.
fun <K : Comparable<K>, V> Map<out K, V>.toSortedMap(): SortedMap<K, V>Converts this Map to a SortedMap. The resulting SortedMap determines the equality and order of keys according to the sorting order provided by the given comparator.
fun <K, V> Map<out K, V>.toSortedMap(
comparator: Comparator<in K>
): SortedMap<K, V>withDefault
Returns a wrapper of this read-only map, having the implicit default value provided with the specified function defaultValue.
Inheritors
MutableMap
A modifiable collection that holds pairs of objects (keys and values) and supports efficiently retrieving the value corresponding to each key. Map keys are unique; the map holds only one value for each key.
interface MutableMap<K, V> : Map<K, V>