如何查找所有键并转换为布尔值

时间:2017-01-12 18:21:38

标签: scala dictionary

我有一个带整数值的地图但是字符串格式

我正在尝试根据这样的关键模式过滤它们:

m.filter(f => f.startsWith("user_id_"))

键/值对如下所示:

"user_id_a" -> "23453245"

所以我想按模式过滤键,然后将值转换为Long并将其作为List返回。

2 个答案:

答案 0 :(得分:2)

val m: Map[String,Int]
val filtered = m.filter(_._1.startsWith("user_id_"))
val modified = filtered.map(x => (x._1,x._2.toLong)).toList // If you  want the output to have both string and value
val modified2 = filtered.map(x => x._2.toLong).toList // If you want the output to have only the values

答案 1 :(得分:1)

yourMap
 .filter{case (key, value) => key.startsWith("user_id_")}
 .mapValues(_.toLong)
 .toList
  

我不明白你如何拥有一个布尔值的地图,但是例子是字符串 - >串。我以为这是一个错字