У меня есть некоторый код, который создает Map
, где значения Option
типов, и я действительно хочу карту, содержащую только реальные значения.
Так что мне нужно преобразовать это, и то, что я придумал в коде, это
def toMap[K,V](input: Map[K, Option[V]]): Map[K, V] = {
var result: Map[K, V] = Map()
input.foreach({
s: Tuple2[K, Option[V]] => {
s match {
case (key, Some(value)) => {
result += ((key, value))
}
case _ => {
// Don't add the None values
}
}
}
})
result
}
, которая работает, но кажется не элегантной. Я подозреваю, что есть что-то для этого встроенное в библиотеку коллекций, которое мне не хватает.
Есть ли что-то встроенное или более идиоматический способ сделать это?