【发布时间】:2021-10-21 02:48:51
【问题描述】:
我是 Scala 的新手,有些事情我很难弄清楚。 我有以下方法:
def updateSongCount(song : Song) {
if(this.listeningCountMap.contains(song)) {
this.listeningCountMap(song) += 1
}
else
{
this.listeningCountMap += (song -> 1)
}
}
listeningCountMap 是这样定义的:
var listeningCountMap = Map[Song, Int]()
现在,Song 是一个类类型,它有几个参数(如标题、歌手等)。 当我执行包含时,即使两首歌曲之间的所有参数都相同 - 它也会将它们添加为两个单独的条目。 我来自 C#,我习惯于重写 GetHashCode 和 Equals 以便包含了解我的类的两个实例何时被认为是相等的,我想我缺少的是 scala 中的等价物。你能告诉我我们如何在 Scala 中做到这一点吗? 谢谢!
【问题讨论】:
标签: scala dictionary collections contains