scala中神奇的map tuple zip



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值