我有两个地图,我需要知道map1中的所有元素是否也在map2中。 我认为使用集合是个好主意,但这是行不通的。
map1 = Map("provider" -> pepe, "consumer" -> pipo)
map2 = Map("provider" -> pepe, "consumer" -> pipo, "id" -> 1)
map1.toSet subsetOf map2.toSet
答案 0 :(得分:1)
您尚未指定pepe
和pipo
的类型,但是假设它们具有相同的类型,即String
。当您使用map1.toSet
时,它将创建一个推断类型为Set[(String, String)]
的集合。您的其他映射也包含整数,因此类型为Set[(String, Any)]
。因此您的代码将不会编译,因为类型不匹配。一种解决方法是只指定类型:
map1.toSet[(String, Any)].subsetOf(map2.toSet)