尝试根据 Map
将 List[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/