0

我有一张可变地图

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)
}
4

2 回答 2

7

您可以使用replaceAll- 忽略给定的键和值,false无论如何都返回。这将用false.

weeklyCheck.replaceAll { _, _ -> false }
于 2021-06-08T07:29:51.470 回答
1

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

Days.values().forEach { weekFilter[it] = false }
于 2021-06-08T08:06:45.117 回答