大家。今天我写了下一个代码。看起来很有效,但我想知道,做我想要的事情是否是正确的方法。我有HashMap,其中侦听器为键,布尔值为确定:侦听器是否已收到上一次更新。我重置HashMap是否正确?
private val listenersUpdateState: HashMap<WeakReference<IStatusesListener>, Boolean> = HashMap()
private fun setAllListenersToReadyToUpdate() {
listenersUpdateState.keys.forEach { key ->
listenersUpdateState[key] = false
}
}
您可以使用方便的功能,例如Map.mapValues()
示例:
private val listenersUpdateState: HashMap<WeakReference<IStatusesListener>, Boolean> = HashMap()
private fun setAllListenersToReadyToUpdate() = listenersUpdateState.mapValues { false }
这将帮助通过map[key]
关键字一次又一次地索引地图,这将改善性能!