2016-04-29 65 views
0

在scala中是否有一種奇妙的方式將地圖從值類型複製到另一個值類型?複製地圖[字符串,列表[MyObject]]複製地圖[字符串,列表[字符串]] scala

Input: Map[String, ListBuffer[MyCustomObject]] 
output: Map[String, ListBuffer[String]] 

謝謝。

+2

'myMap.mapValues(_。地圖(_。的toString))' –

+0

感謝@讓PhilippePellet –

+2

注意'mapValues'包裝了原來的地圖,而複製它。每次從結果地圖中獲取值時,都會應用函數「_.map(_。toString)」。 (http://www.scala-lang.org/api/2.11.8/index.html#[email protected][C](f:B=>C):scala.collection.Map[A, C] ) –

回答

1

雖然.mapValues只創建一個原始集合的視圖,使用.map給你一個完全獨立的新集合。

input.map { case (key, value) => (key, value.map(_.toString)) } 
相關問題