第6讲 Map,Tuple,Zip实战解析

map 映射
Tuple 把很多数据类型不同的元素组成一个集合;函数执行的结果有很多值,可以使用Tuple接收。
Zip 把不同集合的数据集成到一起

package  com.dt.scala

object   Map_Tuple  {
   def   main  ( args  : Array[  String ]): Unit = {
     val   map  =  Map (  "book" ->  10 ,  "gun"  -> 18  ,  "ipad" ->  1000 )               //创基一个不可变的Map
     for ((  k ,  v ) <-  map yield  (  k ,  v   *   0.9 )
   
     //可变的Map
     val   scores  = scala.collection.mutable.  Map (  "Scala"   ->   7 ,  "Hadoop"   ->   8 ,  "Spark"   ->   10 )
   
     val   hadoopScores  =  scores .  getOrElse (  "Hadoop" 0 )           //返回k是 Hadoop对应的值,如果没有匹配的元素则返回0
   
     scores   +=  (  "R"   ->   9 )       //添加元素
   
     scores   -=   "Hadoop"          //根据健值删除元素
   
       //按照字典顺序排序
     val   sortedScres  = scala.collection.immutable.  SortedMap (  "Scala"   ->   7 ,  "Hadoop"   ->   8 ,  "Spark"   ->   10 )
     val   tuple  = (  1 ,  2 ,  3.14 ,  "Rocky" ,  "Spark" )
     val   third  =  tuple .  _3        //获取第三个元素
     //返回tuple中的元素
     val  (  first ,  second ,  thirda ,  fourth ,  fifth ) =  tuple
   
     //返回tuple中前两个元素,其它元素用占位符代替,占位符不可缺少。
     val  (  f ,  s ,_,_,_) =  tuple
   
     //判断字符串中是否有大写字母,如果有将所有大写字母放到一个集合,其它字符放到两一个集合
     "Rocky Spark" .  partition ( _. isUpper  )
   
     /*
     * Zip
     */
   
     val   symbols  =  Array (  "[" ,  "-" ,  "]" )
     val   counts  =  Array (  2 ,  5 ,  2 )
     //将两个数组合成一个集合
     val   pairs  =  symbols .  zip (  counts )
     for ((  x ,  y ) <-  pairs Console .  print (  x *  y )
   
  }

}


相关来源:

DT大数据梦工厂,微信公众号是:DT_Spark

微信号:18610086859

DT大数据梦工厂①462923555

DT大数据梦工厂②:437123764 

DT大数据梦工厂③418110145

相关资料:
scala深入浅出实战经典完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy  访问密码45e2


你可能感兴趣的:(第6讲 Map,Tuple,Zip实战解析)