正确使用scala Map键集

时间:2015-06-02 00:56:32

标签: scala dictionary

我很担心如何从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?

感谢

2 个答案:

答案 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))