位置:首页 > Scala > JavaScript中Set与Map用法详解及实战技巧

JavaScript中Set与Map用法详解及实战技巧

时间:2026-08-15  |  作者:火苗实验室  |  阅读:0

Set

集合。表示没有重复元素的集合,特点是:唯一,无序

Set的去重特性

如果放在set中的元素有重复的,它会自动去重:只保留一个。

def main(args: Array[String]): Unit = {
  val set1  = Set(1,2,3,1,1,1,1,1,1)

  println(set1)
}                   结果:Set(1, 2, 3)

理解 可变和不可变

  • 可变(mutable):可以直接操作这个容器中的数据,例如:添加。
  • 不可变(immutable):不能修改容器中的数据。
  • 默认情况下,使用的Set是不可变的。
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)
  }

Set常用操作

  • 添加
  • 删除
  • 判断
  • 合并
  • 交集
  • 差集
  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 :映射

  • 键值对,键不能有相同的!
  • (key,value)
  def main(args: Array[String]): Unit = {
    val map1 = Map(("alice" -> 90),("bob" -> 80),("bob" -> 100))
//    bob这个键有重复,只保留一个
    println(map1)
  }

Map常用操作

  • 添加
  • 删除
  • 查询
  • 循环输出所有
  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}")
      }
    })
  }

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多