📅  最后修改于: 2023-12-03 15:05:03.439000             🧑  作者: Mango
filter()
方法是 Scala Mutable SortedMap 类中的方法,返回一个新的 SortedMap,它包含仅满足给定谓词的键/值对。
下面是 filter()
方法的语法:
def filter(p: ((K, V)) ⇒ Boolean): SortedMap[K, V]
filter()
方法接受一个谓词函数 p,该函数接受一个键/值对元组作为输入,并返回一个布尔值。元组的类型为 (K, V)
,其中 K
是键的类型,V
是值的类型。函数应该返回 true
如果需要保留该元组,并返回 false
否则。
filter()
方法返回一个新的 SortedMap
,它包含仅满足给定谓词的键/值对。返回的 SortedMap
对象类型与调用该方法的原始对象类型相同。
以下示例演示了 filter()
方法的用法:
import scala.collection.mutable
object MutableSortedMapTest {
def main(args: Array[String]) {
val sortedMap = mutable.SortedMap("John" -> 23, "Jane" -> 25, "Tom" -> 21)
println("原始SortedMap:")
for ((k, v) <- sortedMap) {
println(k + " -> " + v)
}
println("\n年龄大于等于 23 的SortedMap:")
val filteredMap = sortedMap.filter(p => p._2 >= 23)
for ((k, v) <- filteredMap) {
println(k + " -> " + v)
}
}
}
输出如下:
原始SortedMap:
Jane -> 25
John -> 23
Tom -> 21
年龄大于等于 23 的SortedMap:
Jane -> 25
John -> 23
在上面的示例中,我们创建了一个可变的 SortedMap
对象 sortedMap
,它包含三个键值对。
我们使用 filter()
方法从原始 SortedMap 中过滤出年龄大于等于 23 的元素,并将它们存储在新的 SortedMap 对象 filteredMap
中。
最后,我们遍历 filteredMap
对象并将其元素输出到控制台中。