scala 之 Map ,Tuple 以及 Zip 操作

package com.scalaxuexi
// 在这一讲我们将分享 Map ,Tuple 以及 Zip 操作
//Map 本身是映射,在生活中应用也非常广泛
//Tuple 也是scala中非常重要的数据结构,我们使用tuple可以把很多类型不一样的元素组成一个集合
//Zip 把两个集合中的元素结合
object Map_Tuple {
  def main(args: Array[String]): Unit = {
    val map = Map("book"->10,"gun"->18,"ipad"->1000)  // 默认的情况下是不可变得Map 即:immutable.Map
    for((k,v) <- map) yield (k,v *0.9)                //把Map中三个元素分别映射到 k,v
   
    // 下面是可变的Map
    val scres = scala.collection.mutable.Map("scala"->7, "Hadoop" ->8,"Spark"->10)
    val hadoopScore = scres.getOrElse("Hadoop", 0)   //getOrElse() 如果没有“Hadoop” 就会返回 0,如果有就返回Hadoop的键值 8
    scres += ("R" ->9)                               //增加键值对                    
    scres -="Hadoop"                                 //删除键值对
    val sortedScore = scala.collection.immutable.SortedMap("scala"->7, "Hadoop" ->8,"Spark"->10) //对词典进行排序
   
    // 元组操作
    val tuple = (1,2,3.14,"Rocky","spark")   //可以把不同的类型作为集合的记录
    val third = tuple._3                    //返回第三个元素
     //println (third)
    val (first, second, thirda, fourth, fifth) = tuple  // 可以tuple元组的值赋值给元组,他们分别对应比如:first 对应 1 。。。。。
    val (f,s,_,_,_) = tuple                            //如果我们不需要这么多值可以用下划线_做为占位符, 但占位符是必要的
     println(s)
   
   
    // Zip操作
    val symbols = Array("[","-","]")              //> symbols  : Array[String] = Array([, -, ])
    val counts = Array(2,5,2)                     //> counts  : Array[Int] = Array(2, 5, 2)
    val pairs = symbols.zip(counts)               //> pairs  : Array[(String, Int)] = Array(([,2), (-,5), (],2))
   
   
   
  }
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值