val scores=Map("Alice"->10,"Bob"->3,"Cindy"->8) // 获取所有的key val nameList=scores.map(_._1) // map 函数返回List println(nameList.getClass) 遍历list中的元素 nameList.foreach((x:String)=>print(x+" ")) 输出 :Alice Bob Cindy // 或取所有的value val resultList=scores.map(_._2) resultList.foreach {(x:Int)=>print(x+" ") } 输出:10 3 8
对于Tuple可以使用一样的方法
val scores=List((1,"Alice",10),(2,"Bob",30),(3,"Cindy",50)) // 获取所有Tuples中的第三个元素 val scoreList=scores.map(_._3) for (scores<-scoreList){ print(scores +" ") }
反向操作可以使用zip,将两个list转化为一个map,其中一个list作为key,另一个作为value
val keyList=List("Alice","Bob","Cindy") val valueList=List(10,3,8) val scores=keyList.zip(valueList).toMap println(scores) // Map(Alice -> 10, Bob -> 3, Cindy -> 8)