标签:tab cal pac yield 返回 映射 增加值 取值 操作
package com.test.scala.test object MapTest { def main(args: Array[String]): Unit = { //定义一个不可变的map var map=Map("apa"->50,"zhangsan"->75,"王五"->60); println(map("zhangsan"))//类似与java get取值 //定义一个可变的map var scores=scala.collection.mutable.Map("apa"->50,"zhangsan"->75,"王五"->60); println(scores.getOrElse("apa", 0)) //在可变map中增加值,或移除值 scores+=("a"->45)//添加某个键 scores-="王五";//移除某个键 //迭代map //循环scores的建 val key=scores.keys; for(i<-key)println(i) //单独循环scores的值 val value=scores.values; for(i<-value)println(i) //循环scores的key 与value for((k,v)<-scores)println(k+"->"+v) //反转映射,将key与value对调控制 val newScores=for((k,v)<-scores) yield (v,k) for((k,v)<-newScores)println(k+"->"+v) //元组,元组用()来定义,它可以用于返回值不是一个的情况的函数 val yuanzu=(1,3,"444"); println(yuanzu._2) //使用元组可以进行拉链操作,可以把多个值绑定在一起,并一起处理.可以配对 var a1=Array(1,2,3) var a2=Array("A","B","C") var pairs=a1.zip(a2); for((k,v)<-pairs)println(k+"->"+v) //将对偶的的集合转换为 var hh=a1.zip(a2).toMap for(i<-hh.values)println(i) } }
标签:tab cal pac yield 返回 映射 增加值 取值 操作
原文地址:http://www.cnblogs.com/huzi007/p/6092780.html