Scala中的set测试

42 阅读2分钟

图书馆书籍管理系统

内容要求:

1.创建一个可变 Set,用于存储图书馆中的书籍信息(假设书籍信息用字符串表示,如 “Java 编程思想”“Scala 实战” 等),初始化为包含几本你喜欢的书籍。

2.添加两本新的书籍到图书馆集合中,使用 += 操作符。

3.从图书馆集合中删除一本书,使用 -= 操作符。

4.检查某一本特定的书籍(如 “Python 从入门到实践”)是否在图书馆集合中,使用 contains 方法,并输出结果。

5.创建另一个可变 Set,表示另一个图书馆的书籍集合。

6.求出两个图书馆书籍集合的并集,使用 union 方法,并输出结果。

7.求出两个图书馆书籍集合的交集,使用 intersect 方法,并输出结果。

8.求出当前图书馆相对于另一个图书馆的差集,使用 diff 方法,并输出结果。

代码演示:

import scala.collection.mutable

object test {
  def main(args: Array[String]): Unit = {
    // 1. 创建可变 Set,初始化包含喜欢的书籍
    val library1: mutable.Set[String] = mutable.Set(
      "Java 编程思想",
      "Scala 实战",
      "设计模式之美",
      "深入理解 Java 虚拟机"
    )
    println("1. 初始图书馆1书籍:" + library1)

    // 2. 使用 += 操作符添加两本新书
    library1 += "Spring Boot 实战"
    library1 += "Redis 设计与实现"
    println("2. 添加新书后图书馆1:" + library1)

    // 3. 使用 -= 操作符删除一本书
    library1 -= "设计模式之美"
    println("3. 删除书籍后图书馆1:" + library1)

    // 4. 使用 contains 方法检查特定书籍是否存在
    val targetBook = "Python 从入门到实践"
    val isExist = library1.contains(targetBook)
    println(s"4. 图书馆1中是否包含《$targetBook》:$isExist")

    // 5. 创建另一个可变 Set 表示第二个图书馆
    val library2: mutable.Set[String] = mutable.Set(
      "Scala 实战",
      "Python 从入门到实践",
      "MySQL 必知必会",
      "Spring Boot 实战"
    )
    println("5. 图书馆2书籍:" + library2)

    // 6. 使用 union 方法求并集(所有书籍,去重)
    val unionSet = library1.union(library2)
    println("6. 两个图书馆的并集:" + unionSet)

    // 7. 使用 intersect 方法求交集(两馆都有的书籍)
    val intersectSet = library1.intersect(library2)
    println("7. 两个图书馆的交集:" + intersectSet)

    // 8. 使用 diff 方法求差集(library1 有但 library2 没有的书籍)
    val diffSet = library1.diff(library2)
    println("8. 图书馆1相对于图书馆2的差集:" + diffSet)
  }
}

结果:

image.png