0

我已经referrals: Map[String, Referral]并且正在寻找计算这些引用对象中有多少具有特定阶段属性的最佳方法。

case class Referral(
    name: String,
    phase: String
)

我需要计算有多少phase等于“phase1”。

我已经能够简单地在地图上循环以使用“phase1”收集推荐并将它们放入一个 Iterable,但我有一种预感,这是一个不必要的额外步骤,但我无法理解如何流畅地执行此操作。

val phase1_refs = for (ref <- referrals.values if ref.phase == "phase1") yield ref.name
val phase1_count = phase1_refs.size

使用 for 获取 phase1_refs 大小的语法是什么?我一直在对值使用过滤器,但一直让自己感到困惑。

谢谢!

4

1 回答 1

0

利用

referrals.values.count(_.phase == "phase1")
于 2013-04-18T14:59:23.950 回答