3

我得到了这张地图:Map(term -> Buffer(hello), callback -> Buffer(jsonp1350647507240))我想从中提取hellojsonp1350647507240。我该怎么做呢?

谢谢!

4

4 回答 4

4

您可以Map通过调用仅访问 a 的值values

文档def values: Iterable[B]

我只能假设hello并且jsonp135...0应该是字符串,在这种情况下你可以只mkString在缓冲区上使用。

最终结果将是:

val myValues = myMap.values.map{ _.mkString }
于 2012-10-19T13:23:16.213 回答
2

您可以遍历(key, value)元素上的地图和模式匹配:

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

如果你想根据你可以使用的值返回一些东西map

于 2012-10-19T13:21:38.930 回答
2

Map.values方法将返回Iterable您的值。

于 2012-10-19T13:24:01.373 回答
2

假设helloandjsonp....是以下案例类中的字符串:

case class Buffer(name: String)

你可以写:

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

你有一个列表对象 =>List(Hello, jsonp1350647507240)你可以用它做任何你想做的事情。

于 2012-10-19T14:38:42.793 回答