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