2012-10-19 22 views
1

我得到這個地圖:Map(term -> Buffer(hello), callback -> Buffer(jsonp1350647507240)),我想從中提取hellojsonp1350647507240的值。我該怎麼做呢?在scala中提取地圖內容

謝謝!如果你想返回基於您可以使用map而不是值的東西

map foreach { 
    case (_, v) => println(v) 
} 

回答

3

你可以通過調用values

從訪問Map剛值docsdef values: Iterable[B]

我只能假設,hellojsonp135...0應該是字符串,在這種情況下,你可以只使用mkString在緩衝區上。

最終的結果將是:

val myValues = myMap.values.map{ _.mkString } 
2

可以遍歷在(key, value)元素的地圖和模式匹配。

2

Map.values方法將返回你的價值觀的Iterable

2

假設hellojsonp....在下列情況下,類字符串:

case class Buffer(name: String) 

你可以寫:

val list = myMap.map { 
    case (key, buff) => buff.name 
} 

,你有一個列表對象=>List(Hello, jsonp1350647507240),你可以做任何你想要它。

+0

或'case(key,Buffer(name))=> name' –