今天来看下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. zookeeper启动。

    package com.autonavi.tinfo.traffic.zookeeper; import java.util.Arrays; import java.util.Collections; ...

  2. shell字符串判空

    主要用到两个命令 -n  -z if [ -n "$PID" ]; then echo "PID is not empty" fi if[ -z "$ ...

  3. 为什么 1KB = 1024Byte???群里讨论。

  4. Python 之Django

    1.安装Django(下载慢的时候用MaxVPN) pip3 install django 2.Django处理流程 新建project(mysite),执行dj(mysite),然后在console ...

  5. SQL SERVER 批量插入记录

    --create function insertData(@count as int,@tsn as bigint,@id as int) --as --begin SET IDENTITY_INSE ...

  6. removeClass() 方法

    删除元素的class类别用removeClass() 方法,与addClass()方法对应.具体使用如下: 如果要删除 p 标记是 cls0 的类别,可以使用如下的代码: $("p" ...

  7. html 表格的制作

    表格的制作 表格<table></table> <table  width=""  height=""  align=" ...

  8. [转]AS3复制可视对象

    一,复制舞台上的影片剪 方法1——反射方法: var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Clas ...

  9. bootstrap的日期插件datetimepicker有问题

    bootstrap的日期插件datetimepicker在chrome中会出现掉下来的现象,而且一直没找到原因,下载最新版的插件直接在各个浏览器中都会掉下来, 问题一直解决不了,转而换其他插件 htt ...

  10. Linux crontab命令的使用方法

    crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...