[kotlin] 맵(Map)을 사용하여 데이터의 변화를 추적하는 방법은 무엇인가요?
예를 들어, 다음과 같이 맵에 대한 리스너를 추가하여 데이터의 변화를 감지할 수 있습니다.
val map = mutableMapOf<String, Int>()
val listener = object : MapChangeListener<String, Int> {
override fun onEntryAdded(key: String, value: Int) {
println("Entry added - Key: $key, Value: $value")
}
override fun onEntryRemoved(key: String, value: Int) {
println("Entry removed - Key: $key, Value: $value")
}
override fun onEntryUpdated(key: String, oldValue: Int, newValue: Int) {
println("Entry updated - Key: $key, Old Value: $oldValue, New Value: $newValue")
}
}
map.addMapChangeListener(listener)
map["a"] = 1 // Output: Entry added - Key: a, Value: 1
map["b"] = 2 // Output: Entry added - Key: b, Value: 2
map["a"] = 3 // Output: Entry updated - Key: a, Old Value: 1, New Value: 3
map.remove("b") // Output: Entry removed - Key: b, Value: 2
위 예제에서는 맵에 대한 리스너를 만들고, 각 작업에 대해 적절한 콜백을 정의한 후 맵에 추가하였습니다. 맵의 값이 변경될 때마다 해당 콜백이 호출되어 데이터의 변화를 감지할 수 있습니다.
맵을 사용하여 데이터의 변화를 추적하는 방법은 이와 같이 간단하지만 매우 유용합니다. 관련 자세한 내용은 Kotlin 맵 문서를 참고하십시오.