У меня есть одна карта, такая как
val strMap = Map[String, String]("a" -> "a1", "b" -> "b1") // Map(a -> a1, b -> b1)
, и я хочу создать другую карту с тем же ключом, но другим значением, основываясь на значении в strMap.Например,
case class Data(data: String) {}
var dataMap = scala.collection.mutable.Map[String, Data]()
strMap.foreach (keyVal => {dataMap(keyVal._1) = Data(keyVal._2)})
val dataMapToUse = dataMap.toMap // Map(a -> Data(a1), b -> Data(b1))
, но написание этого в императивном стиле вызывает проблему, такую как создание «var dataMap», хотя я хочу получить неизменную карту.Из-за этого я должен вызвать toMap , чтобы получить то же самое.Как я могу добиться того же в функциональном программировании?
Scala Версия: 2.11