📅  最后修改于: 2023-12-03 15:09:45.386000             🧑  作者: Mango
在 Scala 中,SortedMap 是一种按照键排序的 Map。count() 是SortedMap类的一个方法,它用于返回符合给定条件的元素数量。
def count(p: ((A, B)) => Boolean): Int
参数 p 是一个函数,它接收一个元组 (A, B) 作为输入,返回一个布尔值。该方法返回符合给定条件的元素数量。
import scala.collection.immutable.SortedMap
val map = SortedMap("apple" -> 1, "banana" -> 2, "orange" -> 2, "peach" -> 3)
val count1 = map.count((kv: (String, Int)) => kv._2 == 2)
println(count1) // 输出 2,因为 "banana" -> 2 和 "orange" -> 2 的值都等于 2。
val count2 = map.count((kv: (String, Int)) => kv._1.startsWith("a"))
println(count2) // 输出 1,因为只有 "apple" -> 1 的键以 "a" 开头。
在上面的代码示例中,我们创建了一个 SortedMap,并使用 count() 方法分别计算符合条件的元素数量。
第一个示例中,我们使用 kv._2 == 2 作为筛选条件,计算值等于 2 的元素数量。由于 "banana" -> 2 和 "orange" -> 2 的值都等于 2,因此返回 2。
第二个示例中,我们使用 kv._1.startsWith("a") 作为筛选条件,计算键以 "a" 开头的元素数量。由于只有 "apple" -> 1 的键以 "a" 开头,因此返回 1。
Scala SortedMap类的 count() 方法是一个非常有用的计算符合条件元素数量的方法。使用该方法,能够轻松地对 SortedMap 进行筛选和计数操作。