我有一个带整数值的地图但是字符串格式
我正在尝试根据这样的关键模式过滤它们:
m.filter(f => f.startsWith("user_id_"))
键/值对如下所示:
"user_id_a" -> "23453245"
所以我想按模式过滤键,然后将值转换为Long并将其作为List返回。
答案 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
我不明白你如何拥有一个布尔值的地图,但是例子是字符串 - >串。我以为这是一个错字