第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏

来源:互联网 发布:apache 配置https证书 编辑:程序博客网 时间:2024/06/05 15:43
本节课实战代码:

蘑菇云Spark&Scala详解搜狐视频地址:http://my.tv.sohu.com/us/146052161/84680363.shtml

import scala.collection.mutable.HashMapobject HelloMapTupleOps {  def main(args: Array[String]): Unit = {//1、默认情况下,Map构建的是不可变的集合,Map构建调用的是工厂方法模式apply,调用的是Map接口,在apply中使用了具体的实现
//2、如果想直接new出Map实例,则需要使用HashMap等具体的Map子类;//3、查询一个Map中的值一定是采用getOrElse的语法,一方面是key不存在的情况下不会报异常,另一个就可以提供默认值,在Spark中很多默认的配置都是通过getOrElse的方法来实现的;
        val map = Map(1 -> "Spark", 2 -> "Hadoop")    //定义可变的Map    val map2 = scala.collection.mutable.Map(13 -> "Scala", 6 -> "Spark")    for ((key, value) <- map2) {      println(key + ":" + value)    }    //检索Map中的值方式getOrElse,提供默认值,不会报异常    println(map2.getOrElse(3, "Flink"))    map2 += (3 -> "Flink") //添加元素    map2 -= (2) //删除元素    //读取Map中的key值列表    for (key <- map2.keySet) println(key)    //读取Map中的value值列表    for (value <- map2.values) println(value)    //定义排序的Map,字母按ASCII进行排序    val map3 = scala.collection.immutable.SortedMap(3 -> "Spark", 2 -> "Hadoop")    for ((key, value) <- map3) println(key + ":" + value)    //定义LinkedHashMap,记录插入的顺序    val map4 = new scala.collection.mutable.LinkedHashMap[String, Int]    map4 += ("Spark" -> 6, "Hadoop" -> 10, "Flink" -> 3)    for ((key, value) <- map4) {      println(key + ":" + value)    }    //HashMap可以定义空的结构    val hashMap = HashMap[String, Int]()    /**     * Tuple定义     */    val tupe1 = ("Spark", 6)    println(tupe1._1 + ":" + tupe1._2)    //Tuple可以作为函数的返回值    val (name, age) = fun4  }    def fun4: (String, Int) = {    val tuple2 = ("Spark", 4)    tuple2  }


备注:

资料来源于:DT_大数据梦工厂(Spark"蘑菇云"行动

更多私密内容,请关注微信公众号:DT_Spark

如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上2000开设的Spark永久免费公开课,地址YY房间号:68917580


0 0
原创粉丝点击