HashMap
Hash table based implementation of the MutableMap interface.
This implementation makes no guarantees regarding the order of enumeration of keys , values and entries collections.
Constructors
Properties
entries
Returns a MutableSet of all key/value pairs in this map.
val
entries
:
MutableSet
<
MutableEntry
<
K
,
V
>
>
open
val
entries
:
MutableSet
<
MutableEntry
<
K
,
V
>
>
keys
Returns a MutableSet of all keys in this map.
val
keys
:
MutableSet
<
K
>
size
Returns the number of key/value pairs in the map.
val
size
:
Int
open
val
size
:
Int
values
Returns a MutableCollection of all values in this map. Note that this collection may contain duplicate values.
val
values
:
MutableCollection
<
V
>
Functions
clear
Removes all elements from this map.
fun
clear
(
)
open
fun
clear
(
)
containsKey
Returns
true
if the map contains the specified
key
.
fun
containsKey
(
key
:
K
)
:
Boolean
open
fun
containsKey
(
key
:
K
)
:
Boolean
containsValue
Returns
true
if the map maps one or more keys to the specified
value
.
fun
containsValue
(
value
:
V
)
:
Boolean
open
fun
containsValue
(
value
:
V
)
:
Boolean
equals
Indicates whether some other object is "equal to" this one. Implementations must fulfil the following requirements:
fun
equals
(
other
:
Any
?
)
:
Boolean
get
Returns the value corresponding to the given
key
, or
null
if such a key is not present in the map.
operator
fun
get
(
key
:
K
)
:
V
?
open
operator
fun
get
(
key
:
K
)
:
V
?
hashCode
Returns a hash code value for the object. The general contract of
hashCode
is:
fun
hashCode
(
)
:
Int
isEmpty
Returns
true
if the map is empty (contains no elements),
false
otherwise.
fun
isEmpty
(
)
:
Boolean
remove
Removes the specified key and its corresponding value from this map.
fun
remove
(
key
:
K
)
:
V
?
open
fun
remove
(
key
:
K
)
:
V
?
toString
Returns a string representation of the object.
fun
toString
(
)
:
String
Inherited Functions
isEmpty
open
fun
isEmpty
(
)
:
Boolean
Extension Functions
contains
Checks if the map contains the given key.
operator
fun
<
K
,
V
>
Map
<
out
K
,
V
>
.
contains
(
key
:
K
)
:
Boolean
filterNotTo
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
filterTo
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
firstNotNullOf
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.
flatMap
Returns a single list of all elements yielded from results of transform function being invoked on each entry of original map.
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
>
)
:
C
fun
<
K
,
V
,
R
,
C
:
MutableCollection
<
in
R
>
>
Map
<
out
K
,
V
>
.
flatMapTo
(
destination
:
C
,
transform
:
(
Entry
<
K
,
V
>
)
->
Sequence
<
R
>
)
:
C
getOrElse
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
)
:
V
getOrPut
Returns the value for the given
key
if the value is present and not
null
.
Otherwise, calls the
defaultValue
function,
puts its result into the map under the given key and returns the call result.
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
getOrPut
(
key
:
K
,
defaultValue
:
(
)
->
V
)
:
V
ifEmpty
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
isNotEmpty
Returns
true
if this map is not empty.
fun
<
K
,
V
>
Map
<
out
K
,
V
>
.
isNotEmpty
(
)
:
Boolean
isNullOrEmpty
Returns
true
if this nullable map is either null or empty.
fun
<
K
,
V
>
Map
<
out
K
,
V
>
?
.
isNullOrEmpty
(
)
:
Boolean
mapKeysTo
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
mapNotNullTo
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
mapTo
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
mapValuesTo
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
maxByOrNull
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
)
:
R
maxOfOrNull
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
)
:
R
maxOfWithOrNull
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
>
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
)
:
R
minOfOrNull
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
)
:
R
minOfWithOrNull
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.
minusAssign
Removes the entry with the given key from this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
minusAssign
(
key
:
K
)
Removes all entries the keys of which are contained in the given keys collection from this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
minusAssign
(
keys
:
Iterable
<
K
>
)
Removes all entries the keys of which are contained in the given keys array from this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
minusAssign
(
keys
:
Array
<
out
K
>
)
Removes all entries from the keys of which are contained in the given keys sequence from this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
minusAssign
(
keys
:
Sequence
<
K
>
)
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
>
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 .
plusAssign
Appends or replaces the given pair in this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
plusAssign
(
pair
:
Pair
<
K
,
V
>
)
Appends or replaces all pairs from the given collection of pairs in this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
plusAssign
(
pairs
:
Iterable
<
Pair
<
K
,
V
>
>
)
Appends or replaces all pairs from the given array of pairs in this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
plusAssign
(
pairs
:
Array
<
out
Pair
<
K
,
V
>
>
)
Appends or replaces all pairs from the given sequence of pairs in this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
plusAssign
(
pairs
:
Sequence
<
Pair
<
K
,
V
>
>
)
Appends or replaces all entries from the given map in this mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
plusAssign
(
map
:
Map
<
K
,
V
>
)
putAll
Puts all the given pairs into this MutableMap with the first component in the pair being the key and the second the value.
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
putAll
(
pairs
:
Array
<
out
Pair
<
K
,
V
>
>
)
Puts all the elements of the given collection into this MutableMap with the first component in the pair being the key and the second the value.
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
putAll
(
pairs
:
Iterable
<
Pair
<
K
,
V
>
>
)
Puts all the elements of the given sequence into this MutableMap with the first component in the pair being the key and the second the value.
fun
<
K
,
V
>
MutableMap
<
in
K
,
in
V
>
.
putAll
(
pairs
:
Sequence
<
Pair
<
K
,
V
>
>
)
remove
Removes the specified key and its corresponding value from this map.
fun
<
K
,
V
>
MutableMap
<
out
K
,
V
>
.
remove
(
key
:
K
)
:
V
?
set
Allows to use the index operator for storing values in a mutable map.
operator
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
set
(
key
:
K
,
value
:
V
)
setValue
Stores the value of the property for the given object in this mutable map.
operator
fun
<
V
>
MutableMap
<
in
String
,
in
V
>
.
setValue
(
thisRef
:
Any
?
,
property
:
KProperty
<
*
>
,
value
:
V
)
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
)
:
M
toMutableMap
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
>
withDefault
Returns a wrapper of this read-only map, having the implicit default value provided with the specified function defaultValue .
Returns a wrapper of this mutable map, having the implicit default value provided with the specified function defaultValue .
fun
<
K
,
V
>
MutableMap
<
K
,
V
>
.
withDefault
(
defaultValue
:
(
key
:
K
)
->
V
)
:
MutableMap
<
K
,
V
>
Inheritors
LinkedHashMap
Hash table based implementation of the MutableMap interface, which additionally preserves the insertion order of entries during the iteration.
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
>