abstract class AbstractMap<K, out V> : Map<K, V>
Provides a skeletal implementation of the read-only Map interface.
The implementor is required to implement entries property, which should return read-only set of map entries.
K
- the type of map keys. The map is invariant in its key type.
V
- the type of map values. The map is covariant in its value type.
Returns a read-only Set of all keys in this map.
open val keys: Set<K>
open val size: Int
Returns a read-only Collection of all values in this map.
open val values: Collection<V>
open fun containsKey(key: K): Boolean
open fun containsValue(value: V): Boolean
Compares this map with other instance with the ordered structural equality.
open fun equals(other: Any?): Boolean
open operator fun get(key: K): V?
Returns the hash code value for this map.
open fun hashCode(): Int
open fun isEmpty(): Boolean
Returns a string representation of the object.
open fun toString(): String
Returns true
if all entries match the given predicate.
fun <K, V> Map<out K, V>.all( predicate: (Entry<K, V>) -> Boolean ): Boolean
Returns true
if map has at least one entry.
fun <K, V> Map<out K, V>.any(): Boolean
Returns true
if at least one entry matches the given predicate.
fun <K, V> Map<out K, V>.any( predicate: (Entry<K, V>) -> Boolean ): Boolean
Creates an Iterable instance that wraps the original map returning its entries when being iterated.
fun <K, V> Map<out K, V>.asIterable(): Iterable<Entry<K, V>>
Creates a Sequence instance that wraps the original map returning its entries when being iterated.
fun <K, V> Map<out K, V>.asSequence(): Sequence<Entry<K, V>>
Checks if the map contains the given key.
operator fun <K, V> Map<out K, V>.contains(key: K): Boolean
Returns true
if the map contains the specified key.
fun <K> Map<out K, *>.containsKey(key: K): Boolean
Returns true
if the map maps one or more keys to the specified value.
fun <K, V> Map<K, V>.containsValue(value: V): Boolean
Returns the number of entries in this map.
fun <K, V> Map<out K, V>.count(): Int
Returns the number of entries matching the given predicate.
fun <K, V> Map<out K, V>.count( predicate: (Entry<K, V>) -> Boolean ): Int
Returns a new map containing all key-value pairs matching the given predicate.
fun <K, V> Map<out K, V>.filter( predicate: (Entry<K, V>) -> Boolean ): Map<K, V>
Returns a map containing all key-value pairs with keys matching the given predicate.
fun <K, V> Map<out K, V>.filterKeys( predicate: (K) -> Boolean ): Map<K, V>
Returns a new map containing all key-value pairs not matching the given predicate.
fun <K, V> Map<out K, V>.filterNot( predicate: (Entry<K, V>) -> Boolean ): Map<K, V>
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 ): M
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 ): M
Returns a map containing all key-value pairs with values matching the given predicate.
fun <K, V> Map<out K, V>.filterValues( predicate: (V) -> Boolean ): Map<K, V>
Returns a single list of all elements yielded from results of transform function being invoked on each entry of original map.
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>
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> ): C
fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo( destination: C, transform: (Entry<K, V>) -> Sequence<R> ): C
Performs the given action on each entry.
fun <K, V> Map<out K, V>.forEach( action: (Entry<K, V>) -> Unit)
Returns the value corresponding to the given key, or null
if such a key is not present in the map.
operator fun <K, V> Map<out K, V>.get(key: K): V?
Returns the value for the given key, or the result of the defaultValue function if there was no entry for the given key.
fun <K, V> Map<K, V>.getOrElse( key: K, defaultValue: () -> V ): V
Returns the value of the property for the given object from this read-only map.
operator fun <V, V1 : V> Map<in String, V>.getValue( thisRef: Any?, property: KProperty<*> ): V1
Returns the value for the given key or throws an exception if there is no such key in the map.
fun <K, V> Map<K, V>.getValue(key: K): V
Returns this map if it's not empty or the result of calling defaultValue function if the map is empty.
fun <M, R> M.ifEmpty( defaultValue: () -> R ): R where M : Map<*, *>, M : R
Returns true
if this map is not empty.
fun <K, V> Map<out K, V>.isNotEmpty(): Boolean
Returns true
if this nullable map is either null or empty.
fun <K, V> Map<out K, V>?.isNullOrEmpty(): Boolean
Returns a list containing the results of applying the given transform function to each entry in the original map.
fun <K, V, R> Map<out K, V>.map( transform: (Entry<K, V>) -> R ): List<R>
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 ): M
Returns a list containing only the non-null results of applying the given transform function to each entry in the original map.
fun <K, V, R : Any> Map<out K, V>.mapNotNull( transform: (Entry<K, V>) -> R? ): List<R>
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? ): C
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 ): C
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 ): M
fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy( selector: (Entry<K, V>) -> R ): Entry<K, V>?
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>?
Returns the largest value among all values produced by selector function applied to each entry in the map.
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
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> 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?
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 ): R
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?
fun <K, V> Map<out K, V>.maxWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
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>?
fun <K, V, R : Comparable<R>> Map<out K, V>.minBy( selector: (Entry<K, V>) -> R ): Entry<K, V>?
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>?
Returns the smallest value among all values produced by selector function applied to each entry in the map.
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
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> 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?
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 ): R
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?
Returns a map containing all entries of the original map except the entry with the given key.
operator fun <K, V> Map<out K, V>.minus(key: K): Map<K, V>
Returns a map containing all entries of the original map except those entries the keys of which are contained in the given keys collection.
operator fun <K, V> Map<out K, V>.minus( keys: Iterable<K> ): Map<K, V>
Returns a map containing all entries of the original map except those entries the keys of which are contained in the given keys array.
operator fun <K, V> Map<out K, V>.minus( keys: Array<out K> ): Map<K, V>
Returns a map containing all entries of the original map except those entries the keys of which are contained in the given keys sequence.
operator fun <K, V> Map<out K, V>.minus( keys: Sequence<K> ): Map<K, V>
fun <K, V> Map<out K, V>.minWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
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>?
Returns true
if the map has no entries.
fun <K, V> Map<out K, V>.none(): Boolean
Returns true
if no entries match the given predicate.
fun <K, V> Map<out K, V>.none( predicate: (Entry<K, V>) -> Boolean ): Boolean
Performs the given action on each entry and returns the map itself afterwards.
fun <K, V, M : Map<out K, V>> M.onEach( action: (Entry<K, V>) -> Unit ): M
Performs the given action on each entry, providing sequential index with the entry, and returns the map itself afterwards.
fun <K, V, M : Map<out K, V>> M.onEachIndexed( action: (index: Int, Entry<K, V>) -> Unit ): M
Creates a new read-only map by replacing or adding an entry to this map from a given key-value pair.
operator fun <K, V> Map<out K, V>.plus( pair: Pair<K, V> ): Map<K, V>
Creates a new read-only map by replacing or adding entries to this map from a given collection of key-value pairs.
operator fun <K, V> Map<out K, V>.plus( pairs: Iterable<Pair<K, V>> ): Map<K, V>
Creates a new read-only map by replacing or adding entries to this map from a given array of key-value pairs.
operator fun <K, V> Map<out K, V>.plus( pairs: Array<out Pair<K, V>> ): Map<K, V>
Creates a new read-only map by replacing or adding entries to this map from a given sequence of key-value pairs.
operator fun <K, V> Map<out K, V>.plus( pairs: Sequence<Pair<K, V>> ): Map<K, V>
Creates a new read-only map by replacing or adding entries to this map from another map.
operator fun <K, V> Map<out K, V>.plus( map: Map<out K, V> ): Map<K, V>
Returns a List containing all key-value pairs.
fun <K, V> Map<out K, V>.toList(): List<Pair<K, V>>
Returns a new read-only map containing all key-value pairs from the original map.
fun <K, V> Map<out K, V>.toMap(): Map<K, V>
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 ): M
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>
Returns a wrapper of this read-only map, having the implicit default value provided with the specified function defaultValue.
fun <K, V> Map<K, V>.withDefault( defaultValue: (key: K) -> V ): Map<K, V>
Provides a skeletal implementation of the MutableMap interface.
abstract class AbstractMutableMap<K, V> : MutableMap<K, V>
abstract class AbstractMutableMap<K, V> : MutableMap<K, V>, AbstractMap<K, V>
abstract class AbstractMutableMap<K, V> : AbstractMap<K, V>, MutableMap<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/-abstract-map/index.html