【问题标题】:How to know if a map is a sub-map of another in Scala?如何知道一张地图是否是Scala中另一个地图的子地图?
【发布时间】:2019-05-09 23:33:50
【问题描述】:

我有两张地图,我需要知道 map1 中的所有元素是否也在 map2 中。 我认为使用集合是个好主意,但这不起作用。

map1 = Map("provider" -> pepe, "consumer" -> pipo)
map2 = Map("provider" -> pepe, "consumer" -> pipo, "id" -> 1)

map1.toSet subsetOf map2.toSet

【问题讨论】:

标签: scala dictionary


【解决方案1】:

您尚未指定pepepipo 的类型,但我们假设它们具有相同的类型,即String。当你使用map1.toSet 时,它会创建一个推断类型为Set[(String, String)] 的集合。您的其他地图也包含整数,因此类型为Set[(String, Any)]。所以你的代码不会编译,因为类型不匹配。解决它的一种方法是指定类型:

map1.toSet[(String, Any)].subsetOf(map2.toSet)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 2019-01-05
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多