Scala TreeSet filter() 方法及示例
Scala TreeSet 是一种可变的集合,可以用于存储一组唯一的元素,自动排序。本文将介绍 Scala TreeSet 的 filter() 方法的使用方法及其示例。
阅读更多:Scala 教程
filter() 方法
Scala TreeSet 的 filter() 方法可以根据提供的断言函数筛选所有元素。可以将其看作是对集合进行过滤的方法。
filter() 方法的函数原型如下:
def filter(p: (A) ⇒ Boolean): TreeSet[A]
这里 p 是一个接受一个参数并返回 boolean 类型的函数,表示对元素的筛选条件。filter() 方法将返回所有满足条件的元素组成的新集合。
示例
假设有一个 TreeSet 存储了一组整数:
import scala.collection.immutable.TreeSet
var ts = TreeSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
现在我们想从中筛选出所有偶数。可以创建一个接受整数作为参数并返回布尔类型的函数作为 filter() 方法的参数:
def isEven(n: Int) = n % 2 == 0
然后就可以使用 filter() 方法来筛选出所有符合条件的元素:
var evenSet = ts.filter(isEven)
接下来我们可以输出原集合和新集合的内容来对比:
println("原始集合:" + ts)
println("筛选出的偶数集合:" + evenSet)
输出结果应该为:
原始集合:TreeSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
筛选出的偶数集合:TreeSet(2, 4, 6, 8, 10)
这说明 filter() 方法可以正确地筛选出指定条件的元素。
完整示例代码
import scala.collection.immutable.TreeSet
object Example {
def main(args: Array[String]) {
var ts = TreeSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
def isEven(n: Int) = n % 2 == 0
var evenSet = ts.filter(isEven)
println("原始集合:" + ts)
println("筛选出的偶数集合:" + evenSet)
}
}
总结
Scala TreeSet 的 filter() 方法可以根据提供的断言函数筛选所有元素。使用该方法需要定义一个接受一个参数并返回布尔类型的函数作为参数。filter() 方法将返回所有满足条件的元素组成的新集合。