在可变映射中将所有键映射到 false 的更好方法

Better way to set all the keys to map to false in a mutable map

我有一张可变地图

val weeklyCheck = mutableMapOf(
    Day.MONDAY to true,
    Day.TUESDAY to true,
    Day.WEDNESDAY to true,
    Day.THURSDAY to true,
    Day.FRIDAY to true,
    Day.SATURDAY to true,
    Day.SUNDAY to true
)

如何将所有键设置为 false。目前我正在使用类似的东西,有没有更好的方法来做到这一点。

private fun resetDays() {
    weeklyCheck.put(Days.MONDAY, false)
    weeklyCheck.put(Days.TUESDAY, false)
    weeklyCheck.put(Days.WEDNESDAY, false)
    weeklyCheck.put(Days.THURDSAY, false)
    weeklyCheck.put(Days.FRIDAY, false)
    weeklyCheck.put(Days.SATURDAY, false)
    weeklyCheck.put(Days.SUNDAY, false)
}

您可以使用 replaceAll - 忽略给定的键和值,并且只是 return false 无论如何。这将用 false.

替换所有内容
weeklyCheck.replaceAll { _, _ -> false }

这可用于实现相同的结果:

Days.values().forEach { weekFilter[it] = false }