加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读