这里有两个定义都达到了相同的结果:
def sendTrigger(teamId:Long, data:String) {
EngineSync.browserSockets.collect{ case ((i,(u,t)),s) => if(t==teamId) { s.send(data) } }
}
def sendTrigger(teamId:Long, data:String) {
EngineSync.browserSockets.foreach{ case ((i,(u,t)),s) => if(t==teamId) { s.send(data) } }
}
发生的事情是我正在遍历套接字列表并过滤它们以发送数据。作为 Scala 的新手,我担心它开始扩展时的性能。据我了解foreach
,与其他方法相比性能很差,有谁知道是否collect
会更好,或者这是否完全是错误的方法?