Scala计数具有特定属性的贴图对象

Scala计数具有特定属性的贴图对象,scala,scala-collections,counting,Scala,Scala Collections,Counting,我有refererals:Map[String,refereral],我正在寻找计算这些引用对象中有多少具有特定阶段属性的最佳方法 case class Referral( name: String, phase: String ) 我需要计算有多少个阶段等于“phase1” 我已经能够简单地在地图上循环以收集“phase1”的推荐,并将它们放入一个可移植的文件中,但我有一种预感,这是一个不必要的额外步骤,但我无法思考如何流畅地完成这一步 val phase1_refs = f

我有
refererals:Map[String,refereral]
,我正在寻找计算这些引用对象中有多少具有特定阶段属性的最佳方法

case class Referral(
    name: String,
    phase: String
)
我需要计算有多少个
阶段
等于“phase1”

我已经能够简单地在地图上循环以收集“phase1”的推荐,并将它们放入一个可移植的文件中,但我有一种预感,这是一个不必要的额外步骤,但我无法思考如何流畅地完成这一步

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


另外,设置一个Enum类来匹配不同的阶段(例如Enum{phase1,phase2,…})也很酷,但是我已经超越了自己。Ha/Doh。它是否像在parens中包装for并获得大小那样简单?`val count=(for)(ref yes)也可以。但是使用
count
可能更可读。
referrals.values.count(_.phase == "phase1")