【发布时间】:2014-10-01 02:08:38
【问题描述】:
新问题总数。假设我有 2 张地图
val map1 = Map("ram"->"2gb", "size"->"15", "color"->"red", "fruit"->"strawberry")
val map2 = Map("ram"->"2gb", "size"->"15", "color"->"red")
我想知道 map1 完全 是否包含 map2(map1 中的额外键/值可以),有什么好的 Scala 方法可以做到这一点?
我能想到的最好的办法就是创建自己的函数:
def doesMapContainMap(map1: Map[_,_], map2: Map[_,_]): Boolean = {
var matchCount: Int = 0
map2 foreach {
entry => {
if (map1.exists(x => x._1 == entry._1 && x._2 == entry._2)) {
matchCount += 1;
}
}
}
// true if the number of matches is equal to the number of elements in map2
map2.size == matchCount
}
这可行(我认为),但我想知道是否有更好的方法。
【问题讨论】:
标签: scala map scala-collections