📅  最后修改于: 2023-12-03 15:19:57.816000             🧑  作者: Mango
Scala 中的 SortedMap 是一个有序的键值对集合,它继承自 Map 特质,可以使用 Map 的所有方法。其中,filter() 方法可以用于筛选出符合条件的键值对,返回一个新的 SortedMap 集合。
def filter(p: ((K, V)) => Boolean): SortedMap[K, V]
其中,p 参数为一个函数,该函数接收 SortedMap 中的键值对作为参数,返回一个布尔值,用于判断该键值对是否符合条件。
假设有一个 SortedMap 如下所示:
val map = SortedMap(1 -> "one", 2 -> "two", 3 -> "three", 4 -> "four", 5 -> "five")
下面的代码演示了如何使用 filter() 方法筛选出键值对中键为偶数的元素:
val newMap = map.filter { case (key, _) => key % 2 == 0 }
println(newMap) // 输出: Map(2 -> two, 4 -> four)
在上述代码中,filter() 方法接收一个匿名函数,该函数的参数为键值对中的键和值,使用 case 模式匹配将键值对解构为 key 和 _(占位符),然后判断 key 是否为偶数,如果是,则返回 true,否则返回 false。filter() 方法将符合条件的键值对筛选出来,返回一个新的 SortedMap 集合。
filter() 方法是 Scala 中 SortedMap 类的一个常用方法,可以灵活筛选出符合条件的键值对,返回一个新的 SortedMap 集合。在实际编码中,需要根据自己的需求灵活使用该方法。