Scala – 将地图中的键转换为小写?
发布时间:2020-12-16 09:24:22 所属栏目:安全 来源:网络整理
导读:我有一个地图,其中键是一个字符串,我需要在使用此地图之前将每个键放在小写字母上. 我怎么能在scala上做到这一点?我是这样的事情: var newMap = scala.collection.mutable.Map[String,String]()data.foreach(d = newMap +=(d._1.toLowerCase - d._2)) 它的
我有一个地图,其中键是一个字符串,我需要在使用此地图之前将每个键放在小写字母上.
我怎么能在scala上做到这一点?我是这样的事情: var newMap = scala.collection.mutable.Map[String,String]() data.foreach(d => newMap +=(d._1.toLowerCase -> d._2)) 它的最佳方法是什么? 预先感谢. 解决方法
这里的问题是你试图将低位的密钥添加到可变的Map中,这只是将额外的密钥堆积到其中.最好在这里使用严格的地图,而不是副作用功能.
val data = scala.collection.mutable.Map[String,String]("A" -> "1","Bb" -> "aaa") val newData = data.map { case (key,value) => key.toLowerCase -> value } 如果你真的想以可变的方式做到这一点,那么你必须删除旧密钥. data.foreach { case (key,value) => data -= key data += key.toLowerCase -> value } scala> data res79: scala.collection.mutable.Map[String,String] = Map(bb -> aaa,a -> 1) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |