📅  最后修改于: 2023-12-03 15:17:09.957000             🧑  作者: Mango
在 Kotlin 中,我们可以使用 filterValues
函数来按值过滤映射。这个函数会返回一个新的映射,其中包含原映射中与给定谓词匹配的所有键值对。
fun <K, V> Map<K, V>.filterValues(
predicate: (V) -> Boolean
): Map<K, V>
predicate
:一个谓词函数,传入一个值并返回 Boolean
值,用于确定哪些值应该被保留。下面的示例演示了如何按值过滤映射中的元素:
fun main() {
val map = mapOf("apple" to 1, "orange" to 2, "banana" to 3, "pear" to 4)
val filteredMap = map.filterValues { it % 2 == 0 }
println(filteredMap) // 输出:{orange=2, pear=4}
}
在这个例子中,我们创建了一个包含 "apple" to 1, "orange" to 2, "banana" to 3, "pear" to 4
的映射,然后按值过滤出了值为偶数的所有键值对。
在 Kotlin 中,在原映射的基础上创建一个新的映射并按照给定的谓词函数过滤键值对的操作十分简单。使用 filterValues
函数,我们可以轻松地过滤出想要的键值对,而不必手动遍历映射。