original.mapValues(Seq(_))
Обратите внимание, что mapValues
возвращает вид карты, поэтому функция (Seq(_)
) будет пересчитываться каждый раз при доступе к элементу. Чтобы избежать этого, просто используйте обычный map
:
original.map{ case (k,v) => (k, Seq(v)) }
Использование:
scala> val original = Map("a" -> "b", "c" -> "d")
original: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(a -> b, c -> d)
scala> original.mapValues(Seq(_))
res1: scala.collection.immutable.Map[java.lang.String,Seq[java.lang.String]] = Map(a -> List(b), c -> List(d))