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

试图转换List[String]List[Int]基于Map. 但是,如果键不存在,我将收到空指针异常。怎么处理?

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

回答

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

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


以上是基于Map从List[String]转换为List[Int]的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>