26.<Set>用法 and <Map>用法

Set

markdown 复制代码
    集合。表示没有重复元素的集合,特点是:唯一,无序。
如果放在set中的元素有重复的,它会自动去重:只保留一个
Scala 复制代码
def main(args: Array[String]): Unit = {
  val set1  = Set(1,2,3,1,1,1,1,1,1)

  println(set1)
}                   结果:Set(1, 2, 3)
理解 可变和不可变
arduino 复制代码
    可变(mutable):可以直接操作这个容器中的数据,例如:添加。
    不可变(immutable):不能修改容器中的数据。
    默认情况下,使用的Set是不可变的。
Scala 复制代码
def main(args: Array[String]): Unit = {
    val set1  = scala.collection.immutable.Set(1,2,3,1,1,1,1)
    val set2 = scala.collection.mutable.Set(1,2,3)
// 可变的Set可以直接修改它自己
    set2 += 20
// 不可变的set不能直接修改它自己
//    set1 += 2
    println(set2)
  }
添加,删除,判断,合并,交集,差集
Scala 复制代码
  def main(args: Array[String]): Unit = {
//    可变Set
    val set1 = scala.collection.mutable.Set(1,2,3)
//    1.添加
    set1 += 1
    set1 += 4
//    2.删除
    set1 -= 2
//    3.判断一个元素是否存在
    val value = 3
    if (set1.contains(value)){
      println(s"${value}存在")
    } else {
      println(s"${value}不存在")
    }
//    4.合并另一个Set
    val set2 = scala.collection.mutable.Set("语文")
    val set3 = scala.collection.mutable.Set("数学","英语")
    set2 ++= set3
    println(set2)
//    5.交集
    val set4 = scala.collection.mutable.Set("唱歌","跳舞")
    val set5 = scala.collection.mutable.Set("打游戏","打球","跳舞")

    val set6 = set4.intersect(set5)
    println(set6)
//    5.差集
    val set7 = scala.collection.mutable.Set("唱歌","跳舞")
    val set8 = scala.collection.mutable.Set("打游戏","打球","跳舞")

    val set9 = set7.diff(set8)

    println(set9)
  }

Map映射

//Map :映射
arduino 复制代码
    //        键值对,键不能有相同的!
    //        (key,value)
Scala 复制代码
  def main(args: Array[String]): Unit = {
    val map1 = Map(("alice" -> 90),("bob" -> 80),("bob" -> 100))
//    bob这个键有重复,只保留一个
    println(map1)
  }
添加,删除,查询,循环输出所有
Scala 复制代码
  def main(args: Array[String]): Unit = {
    val map1 = scala.collection.mutable.Map(("alice" -> 90),("bob" -> 80),("bob" -> 100))
//    bob这个键有重复,只保留一个
//    1.添加
    map1 +=("juddy" -> 90)
//    2.删除
    map1 -= "bob"
//    3.查询元素
    val key = "alice111"
    val ret = map1.get(key)
    if (ret.isDefined){
      println(s"${key}对于的值是:${ret.get}")
    } else {
      println(s"${key}不存在")
    }
//    4.for 循环输出所有
    for ((a,b) <- map1){
      println(s"${a},${b}")
    }

    map1.foreach({
      case (key,value) => {
        println(s"${key},${value}")
      }
    })
  }
相关推荐
豚踢兔x7 小时前
正则表达式应用-手机号打码
scala
代码于老总2 天前
正则表达式在 Scala 中的应用
scala
凯新生物7 天前
聚乙二醇二生物素,Biotin-PEG-Biotin在生物检测中的应用
scala·bash·laravel·perl
谁黑皮谁肘击谁在连累直升机7 天前
文件读写-成绩分析
scala
小冻梨8 天前
模式匹配-基础使用
scala
顧棟12 天前
JAVA、SCALA 与尾递归
java·开发语言·scala
深兰科技12 天前
坦桑尼亚与新加坡代表团到访深兰科技,促进AI在多领域的应用落地
java·人工智能·typescript·scala·perl·ai大模型·深兰科技
a程序小傲13 天前
scala中的Array
开发语言·后端·scala
kk哥889913 天前
scala 介绍
开发语言·后端·scala
173113 天前
scala中的Array
scala