今天来看下set map的操作,让我们从代码出发

val data = mutable.Set.empty[Int]

data ++= List(1,2,3)//在空set上加入列表

data += 4//在set上加入新元素

data --= List(2,3)

println(data) //Set(1, 4)
data += 1
println(data)//Set(1, 4),说明Set元素不能重复
data.clear()
 println(data)//Set()

我们可以看出,Set和List的操作大致是一样的,不过重要的区别就是:Set中不充许出现重复的元素!

再来看看Map的操作

val map = mutable.Map.empty[String,String]
     
      map("java")="hadoop"
      map("scala")="spark"
      println(map)//Map(scala -> spark, java -> hadoop)
      println(map("scala"))//spark

Map是以key value的形式存储数据的,并且所有的key,所有的value都是同一类型。

其实,Set和Map加入元素的时候,是没有顺序的,但是我们实际应用当中,可能需要有顺序的Set或Map,这时,就用到了TreeSet和TreeMap

val treeset = TreeSet(9,3,1,8,0,2,7,4,6,5)
      println(treeset)//TreeSet(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
      
      val treesetForChar = TreeSet("spark","scala","hadoop")
      println(treesetForChar)//TreeSet(hadoop, scala, spark)
      
      
      
      var treeMap=TreeMap("scala"->"spark","java"->"hadoop")
     
      println(treeMap)//Map(java -> hadoop, scala -> spark)

我们可以发现,打印出的结果都是排好序的。

分享下更多的scala资源吧:

百度云盘:http://pan.baidu.com/s/1gd7133t

微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416

360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

关注微信账号,获取更多关于scala学习内容

第40讲:Set、Map、TreeSet、TreeMap操作代码实战的更多相关文章

  1. Scala 深入浅出实战经典 第40讲:Set、Map、TreeSet、TreeMap操作代码实战

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  2. 003-Tuple、Array、Map与文件操作入门实战

    003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...

  3. Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  4. Scala深入浅出实战经典之 List的foldLeft、foldRight、sort操作代码实战

     Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 3 ...

  5. Scala 深入浅出实战经典 第64讲:Scala中隐式对象代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  6. Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  7. Scala 深入浅出实战经典 第52讲:Scala中路径依赖代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  8. 第35讲:List的map、flatMap、foreach、filter操作代码实战

    List类的高阶方法          val fmap = List( 1,2 ,3). map { _ + 1 } //List(2, 3, 4)    val fruit_rev2 = frui ...

  9. 第37讲:List的foldLeft、foldRight、sort操作代码实战

    其实flodLeft和foldRight就是折叠操作,我让们看下下列的函数 折叠操作    def sum(xs:List[Int]):Int = ( 0 /: xs)(_ +_)     def p ...

随机推荐

  1. c#版在pc端发起微信扫码支付

    等了好久,微信官方终于发布了.net的demo. 主要代码: /** * 生成直接支付url,支付url有效期为2小时,模式二 * @param productId 商品ID * @return 模式 ...

  2. VS调试技巧

    下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什么都写在一行,你怎么在j=5前面插入 ...

  3. java学习第9天

    形式参数和返回值的问题 (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的是该类的子类 ...

  4. 第一零四天上课 PHP TP框架下的文件上传

    控制器代码(TestController.class.php) <?php namespace Home\Controller; use Home\Controller\EmptyControl ...

  5. 多线程之 Final变量 详解

    原文: http://www.tuicool.com/articles/2Yjmqy 并发编程网:http://ifeve.com/java-memory-model/ 总结: Final 变量在并发 ...

  6. 处理返回结果(XML)

    var xmlHttp function showUser(str) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Br ...

  7. easyui里弹窗的两种表现形式

    easyui里弹窗的两种表现形式 博客分类: jQueryEasyUi   1.主JSP页面中描绘弹窗   <div id="centerDiv" data-options= ...

  8. SqlServer2008R2附件数据库失败

    MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”.操作系统错误 5:“5(拒绝访问.)”. (Microsoft SQL Server,错误: 5120) 该经验介绍如何处理该 ...

  9. SO单号中某两项没进FP

    某张SO共60项,有两项没有进FP系统,550 560两项VC物料没有进FP 1.检查in_sales_order发现是有60行数据 2.在INODS时执行FP_SO呢个存储过程会将in_sales_ ...

  10. perl中的运算符

    字符计算的运算符