scala – Mutable MultiMap到不可变Map
发布时间:2020-12-16 18:03:35 所属栏目:安全 来源:网络整理
导读:我创建了一个MultiMap val ms = new collection.mutable.HashMap[String,collection.mutable.Set[String]]() with collection.mutable.MultiMap[String,String] 在填充了条目之后,必须将其传递给需要Map [String,Set [String]]的函数.直接传递ms不起作用,并
我创建了一个MultiMap
val ms = new collection.mutable.HashMap[String,collection.mutable.Set[String]]() with collection.mutable.MultiMap[String,String] 在填充了条目之后,必须将其传递给需要Map [String,Set [String]]的函数.直接传递ms不起作用,并尝试通过toMap将其转换为不可变映射 ms.toMap[String,Set[String]] 产量 Cannot prove that (String,scala.collection.mutable.Set[String]) <:< (String,Set[String]). 这可以解决而无需手动迭代ms并将所有条目插入到新的不可变映射中吗? 解决方法
似乎问题是可变的集合.所以变成不可变的集合起作用:
scala> (ms map { x=> (x._1,x._2.toSet) }).toMap[String,Set[String]] res5: scala.collection.immutable.Map[String,Set[String]] = Map() 或者更好地遵循Daniel Sobral的建议: scala> (ms mapValues { _.toSet }).toMap[String,Set[String]] res7: scala.collection.immutable.Map[String,Set[String]] = Map() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读