在Scala中提取地图内容



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

谢谢!

您可以通过调用values

仅访问Map的值

来自文档:def values: Iterable[B]

我只能假设hellojsonp135...0应该是字符串,在这种情况下,您可以在缓冲区上使用mkString

最终结果是:

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

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

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

case class Buffer(name: String)

您可以写:

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

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

您可以在 (key, value)元素上迭代地图和图案匹配:

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

如果您想根据值返回某些内容,则可以使用map

最新更新