Один из способов сделать это - объявить вашу карту как Map
вместо MutableMap
и просто перезаписать ее отфильтрованной версией:
var myMap = mapOf(1 to "A", 2 to "B")
myMap = myMap.filterValues { it != "A" }
println(myMap)
Если вы хотите MutableMap
(пока еще var
) версия, она похожа:
var myMap = mutableMapOf(1 to "A", 2 to "B")
myMap = myMap.filterValues { it != "A" } as MutableMap
println(myMap)
Обновление : Марио Топольник правильно указывает, что приведение здесь более эффективно, чем вызов .toMutableMap()
как новогокопия не создана.