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