我有以下数据结构:
val set: scala.collection.immutable.Set[String] = ...
val test1: scala.collection.immutable.Map[String,scala.collection.immutable.Set[String]] = ...
val test2: Array[scala.collection.immutable.Set[String]] = ...
set
包含约60,000个整体。test1
有两个条目(“一个”和“两个”),每个条目都是类似于的一组字符串set
。test2
与相似,test1
但是键是0和1。
运行test1.get("one").get.contains("somestring")
需要很长时间(大约1秒),但是运行test2(0).contains("somestring")
非常快。
我不太明白为什么会有如此大的差异。有任何想法吗?
问题是我mapValues
在现有地图上使用以生成新地图。我认为其mapValues
工作原理与之类似,map
但实际上mapValues
仅在现有地图上创建一个视图,而不是在新地图上创建。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句