Scala - 将TrieMap转换为HashMap

时间:2015-11-07 17:38:57

标签: scala hashmap

我正在使用TrieMap,我在其上执行.mapValues()操作,返回MapLike []对象。但是我需要将其转换为HashMap,或任何维护排序顺序的Serializable Map,因为它必须通过网络传输。什么是性能最有效的方法?

1 个答案:

答案 0 :(得分:2)

使用.mapValues实际上并没有创建新的TrieMap,它只返回原始视图。要从旧集合中实际转换并创建新的TrieMap,您可以使用.transform方法使用稍微不同的签名,该签名将返回相同类型的新集合。唯一的缺点是你必须使用相同的值类型:

scala> val map = TrieMap(1->5).transform((k, v) => v + 1)
map: scala.collection.concurrent.TrieMap[Int,Int] = TrieMap(1 -> 6)

scala> :t map
scala.collection.concurrent.TrieMap[Int,Int]