original.mapValues(Seq(_))
Note that mapValues returns the map view, so the ( Seq(_) ) function will be reprogrammed every time the element is accessed. To avoid this, just use a regular map :
original.map{ case (k,v) => (k, Seq(v)) }
Using:
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))
source share