📅  最后修改于: 2023-12-03 14:54:04.903000             🧑  作者: Mango
ListSet 是 Scala 集合库中的一个集合类,它代表了一个没有重复元素的有序集合。ListSet 的 count() 方法可以用于统计集合中满足指定条件的元素个数。
count() 方法的语法如下:
def count(p: (A) => Boolean): Int
其中,p 表示一个谓词函数,该函数接受集合中的一个元素作为参数,返回一个布尔值,表示该元素是否满足条件。count() 方法统计集合中满足 p 函数的元素个数。
下面是一个简单的示例,演示了如何使用 ListSet 的 count() 方法:
import scala.collection.immutable.ListSet
val items = ListSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val count1 = items.count(_ % 2 == 0)
println(count1) // 输出:5
val count2 = items.count(_ > 10)
println(count2) // 输出:0
上面的代码创建了一个 ListSet,然后分别调用了两次 count() 方法,第一次统计了集合中偶数个数,第二次统计了集合中大于 10 的元素个数。
在第一次调用时,p 函数为 _ % 2 == 0
,表示取模 2 等于 0 的元素。由于集合中包含 2, 4, 6, 8, 10 这五个偶数,因此输出结果为 5。
在第二次调用时,由于集合中没有大于 10 的元素,因此输出结果为 0。
需要注意的是,count() 方法只会统计满足条件的元素个数,而不会修改集合本身。如果希望获得满足条件的元素的列表,可以使用 filter() 方法。例如:
val evenNumbers = items.filter(_ % 2 == 0)
println(evenNumbers) // 输出:ListSet(2, 4, 6, 8, 10)