allow mapValues() to be used on a Map not just a MutableMap
This commit is contained in:
@@ -93,7 +93,7 @@ public inline fun <K,V,R, C: MutableCollection<in R>> Map<K,V>.mapTo(result: C,
|
|||||||
/**
|
/**
|
||||||
* Populates the given *result* [[Map]] with the value returned by applying the *transform* function on each [[Map.Entry]] in this [[Map]]
|
* Populates the given *result* [[Map]] with the value returned by applying the *transform* function on each [[Map.Entry]] in this [[Map]]
|
||||||
*/
|
*/
|
||||||
public inline fun <K,V,R,C: MutableMap<K,R>> MutableMap<K,V>.mapValuesTo(result: C, transform : (Map.Entry<K,V>) -> R) : C {
|
public inline fun <K,V,R,C: MutableMap<K,R>> Map<K,V>.mapValuesTo(result: C, transform : (Map.Entry<K,V>) -> R) : C {
|
||||||
for (e in this) {
|
for (e in this) {
|
||||||
val newValue = transform(e)
|
val newValue = transform(e)
|
||||||
result.put(e.key, newValue)
|
result.put(e.key, newValue)
|
||||||
@@ -102,7 +102,7 @@ public inline fun <K,V,R,C: MutableMap<K,R>> MutableMap<K,V>.mapValuesTo(result:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Puts all the entries into the map with the first value in the tuple being the key and the second the value
|
* Puts all the entries into this [[MutableMap]] with the first value in the pair being the key and the second the value
|
||||||
*/
|
*/
|
||||||
public inline fun <K,V> MutableMap<K,V>.putAll(vararg values: Pair<K, V>): Unit {
|
public inline fun <K,V> MutableMap<K,V>.putAll(vararg values: Pair<K, V>): Unit {
|
||||||
for (v in values) {
|
for (v in values) {
|
||||||
@@ -111,7 +111,7 @@ public inline fun <K,V> MutableMap<K,V>.putAll(vararg values: Pair<K, V>): Unit
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copies the entries in this [[Map]] to the given *map*
|
* Copies the entries in this [[Map]] to the given mutable *map*
|
||||||
*/
|
*/
|
||||||
public inline fun <K,V> Map<K,V>.toMap(map: MutableMap<K,V>): Map<K,V> {
|
public inline fun <K,V> Map<K,V>.toMap(map: MutableMap<K,V>): Map<K,V> {
|
||||||
map.putAll(this)
|
map.putAll(this)
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public inline fun <K,V,R> Map<K,V>.map(transform: (Map.Entry<K,V>) -> R) : List<
|
|||||||
*
|
*
|
||||||
* @includeFunctionBody ../../test/MapTest.kt mapValues
|
* @includeFunctionBody ../../test/MapTest.kt mapValues
|
||||||
*/
|
*/
|
||||||
public inline fun <K,V,R> MutableMap<K,V>.mapValues(transform : (Map.Entry<K,V>) -> R): Map<K,R> {
|
public inline fun <K,V,R> Map<K,V>.mapValues(transform : (Map.Entry<K,V>) -> R): Map<K,R> {
|
||||||
return mapValuesTo(java.util.HashMap<K,R>(this.size), transform)
|
return mapValuesTo(java.util.HashMap<K,R>(this.size), transform)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user