我很担心如何从Scala Map中获取密钥。 有问题的地图很简单:
以下用于从Scala Map派生密钥的函数位于:
def extractKey(myMap: Map[String, String]): String {
//process myMap
myMap = Map("SSN" -> "1")
//return "SSN"
}
val myMap = Map("Visa Number" "10")
如何从中提取字符串Visa号码?
好的,到目前为止我尝试过这么多:
myMap.keySet和我派生出一个Set:scala.collection.immutable.Set[String] = Set("Visa Number")
我有点困惑要继续。
我尝试了以下内容: myMap.keys 这返回了一个Iterable [String] = Set(" Visa Number")
我也尝试了以下内容:
myMap.keysIterator that returned an Iterator[String]
那么,从Map myMap中获取密钥的最佳方法是什么?
现在,如果我有更长的地图,那该怎么办?
myMapLonger = Map("SSN" -> "10", "AMEX" -> 11)
那么我将如何捕获密钥并将它们放入List?
感谢
答案 0 :(得分:1)
Map("SSN" -> "10", "AMEX" -> 11).keys.toSeq
或
Map("SSN" -> "10", "AMEX" -> 11).toSeq.map(_._1)
答案 1 :(得分:0)
一种方法是在给定unzip
Map
val (keys,values) = Map("SSN" -> "10", "AMEX" -> 11).unzip
提供了一系列列表,第一个带有键,第二个带有值
keys: List(SSN, AMEX)
values: List(10, 11))