scala - 基于Map从List[String]转换为List[Int]

尝试根据 MapList[String] 转换为 List[Int]。 但是,如果 key 不存在,我将得到一个空指针异常。 怎么处理?

val strList = ["a","b","not exist in map" ]
val myMap =  Map(
    "a" -> 1,
    "b" -> 2
  )

var myList = new ListBuffer[Int]()
    strList.foreach(k =>
      myList += myMap(k)
      
    )

  myList.toList

最佳答案

这假定任何不是 Map 键的 List 条目都应该被忽略。

val strList = List("a", "b", "not exist in map")
val myMap   = Map("a" -> 1, "b" -> 2)

val myList = strList.flatMap(myMap.get)
//myList: List[Int] = List(1, 2)

结果 myList 的顺序由 strList 中的键顺序决定。

https://stackoverflow.com/questions/65569269/

相关文章:

r - 无法为 R 中的列表替换 NA 的拼写错误

c - STM32创建RAM段

c++ - 找不到 Glog(缺少 : GLOG_INCLUDE_DIR GLOG_LIBRARY)

java - 更正应包含单个兼容版本的应用程序的类路径

python - numpy 中的 3d 矩阵乘法

java - 在 Clojure 中使用 JSoup 解析字符串

javascript - 如果 "any"不能在 Nest.js 中使用,模式中的字段类型应该是什么

reactjs - firebase safari 错误消息 : This browser does

powershell - 无法注册 PS 图库

c# - 有没有办法在 Switch 表达式中跳过或继续,或者每个分支都需要返回一些东西?