В Kotlin работа с коллекциями пар ключ-значение — обычная задача. Две часто используемые операции с парами ключ-значение — это фильтрация и сопоставление на основе ключей. В этой статье мы рассмотрим различные методы выполнения операций фильтрации и сопоставления пар ключ-значение с использованием Kotlin.
- Метод 1: filterKeys() и mapValues()
Функция filterKeys() фильтрует пары ключ-значение на основе предиката, примененного к ключам, а функция mapValues() преобразует значения пары ключ-значение. Вот пример:
val map = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
val filteredMap = map.filterKeys { it.startsWith("key") }
val mappedValues = map.mapValues { it.value * 2 }
println(filteredMap) // Output: {key1=1, key2=2, key3=3}
println(mappedValues) // Output: {key1=2, key2=4, key3=6}
- Метод 2: filter() и map()
Функция filter() фильтрует пары ключ-значение на основе предиката, примененного к каждой паре, а функция map() преобразует пары ключ-значение. пары. Вот пример:
val map = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
val filteredMap = map.filter { it.key.startsWith("key") }
val mappedPairs = map.map { it.key to (it.value * 2) }.toMap()
println(filteredMap) // Output: {key1=1, key2=2, key3=3}
println(mappedPairs) // Output: {key1=2, key2=4, key3=6}
- Метод 3: понимание списка
Kotlin поддерживает понимание списка, которое можно использовать для фильтрации и сопоставления пар ключ-значение. Вот пример:
val map = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
val filteredMap = map.filter { (key, _) -> key.startsWith("key") }
val mappedPairs = map.map { (key, value) -> key to (value * 2) }.toMap()
println(filteredMap) // Output: {key1=1, key2=2, key3=3}
println(mappedPairs) // Output: {key1=2, key2=4, key3=6}
В этой статье мы рассмотрели различные методы фильтрации и сопоставления пар ключ-значение в Kotlin. Мы рассмотрели использование таких функций, как filterKeys(), MapValues(), Filter(), Map() и понимание списков. Эти методы обеспечивают гибкость и позволяют эффективно манипулировать парами ключ-значение в Kotlin.
Оптимизируя свой код с помощью этих методов фильтрации и сопоставления, вы можете повысить читаемость и удобство обслуживания ваших приложений Kotlin.