您的位置:首页 > 其它

scala中神奇的map tuple zip

2015-07-17 21:49 495 查看

scala中的数组类型有三个很有意思:

map是对应的key,value形式

val map=Map("book"->10,"ipad"->1000) //> map : scala.collection.immutable.Map[String,Int] = Map(book -> 10, ipad ->

val map=Map("book"->10,"ipad"->1000) //> map : scala.collection.immutable.Map[String,Int] = Map(book -> 10, ipad ->

//| 1000)

for((k,v)<-map)yield (k,v*0.9) //> res0: scala.collection.immutable.Map[String,Double] = Map(book -> 9.0, ipad

//| -> 900.0)

val score =scala.collection.mutable.Map("Scala"->7,"hadoop"->8,"Spark"->10)

//> score : scala.collection.mutable.Map[String,Int] = Map(hadoop -> 8, Spark -

//| > 10, Scala -> 7)

val hadoopScore=score.getOrElse("hadoop", 0) //> hadoopScore : Int = 8

score+=("RRR"->10) //> res1: com.test.First.Study.action.score.type = Map(hadoop -> 8, Spark -> 10,

//| RRR -> 10, Scala -> 7)

score-=("RRR") //> res2: com.test.First.Study.action.score.type = Map(hadoop -> 8, Spark -> 10,

//| Scala -> 7)

tuple可以把很多不同的数据类型

//下标从1开始 下标加下划线

for((x,y)<-pairs )Console.print(x*y) //> !!-----]]

val tuple=(1,2,3,14,"rocy","spark") //> tuple : (Int, Int, Int, Int, String, String) = (1,2,3,14,rocy,spark)

val third=tuple._3 //> third : Int = 3

val (one,two,thirds,14,"rocy","spark")=tuple //> one : Int = 1

//| two : Int = 2

//| thirds : Int = 3

zip把两个集合中元素进行结合

val symbols=Array("!","-","]") //> symbols : Array[String] = Array(!, -, ])

val count=Array(2,5,2) //> count : Array[Int] = Array(2, 5, 2)

val pairs=symbols.zip(count) //> pairs : Array[(String, Int)] = Array((!,2), (-,5), (],2))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: