第6讲 Map、Tuple操作

Map 、Tuple 是scala 中比较常见的数据类型,在spark 中经常使用。

实例代码:

  //一、不可变map操作

    //1.不可变map定义
    val map = Map("book" -> 10, "gun"->18,"ipad" -> 1000)
    println("map=" + map)

    //2. map的取值
    var book = map.getOrElse("booke",1)
    println("book=" + book)

    //3. map 修改
   // map += ("book" -> 20) ,不允许

    //4. map 新增
    // map += ("app" -> 100)

    //5.map的遍历
    for((k,v) <- map) yield(k,v * 3)

    //二、可变map操作

    //1.可变map定义
    val map2 = scala.collection.mutable.Map("book" -> 10, "gun"->18,"ipad" -> 1000)
    println("map2=" + map2)

    //2. map的取值
    var book2 = map2.getOrElse("booke",1)
    println("book=" + book2)

    //3. map 修改
     map2 += ("book" -> 20) //,不允许

    //4. map 新增
    map2 += ("app" -> 100)

    //5.map的遍历
    for((k,v) <- map2) yield(k,v * 2)


    //三、排序map操作

    //1.可变map定义
    val map3 = scala.collection.immutable.SortedMap("scala" -> 10, "Hadoop"->18,"spark" -> 1000)
    println("map2=" + map3)

    //2. map的取值
    var book3 = map3.getOrElse("booke",1)
    println("book=" + map3)

    //3. map 修改
    //map3 += ("book" -> 20) //,不允许

    //4. map 新增
    //map3 += ("app" -> 100)

    //5.map的遍历
    for((k,v) <- map3) yield(k,v * 2)



    //四、tuple 操作
    val tuple = (1,2,3,"rocky","spark")

    //取值方式
    println(tuple._3)

    //模式匹配
    val (first,second,thirda,fourth,fifth) = tuple

    //模式匹配,去掉不要字段
    val (f,s,_,_,_) = tuple


    //zip 操作
    val symboles = Array("[","-","]")
    val counts = Array(2,5,3)
    val pairs = symboles.zip(counts)
    for ((x,y) <- pairs) print(x * y)

    println
    val aa ="Rocky_Spark".partition(_.isUpper)
    println("aa=" + aa)
  }

参考文档
百度网盘:http://pan.baidu.com/share/home?uk=4013289088#category/type=0
微信号:18610086859
DT大数据微信公众账号:DT_Spark
DT大数据梦工厂交流群:462923555/418110145/437123764

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值