Scala中set集练习

46 阅读2分钟

题目:

图书馆书籍管理系统相关的练习。内容要求:

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

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

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

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

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

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

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

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

代码:

package set

import scala.collection.mutable.Set

object set3 {
  def main(args: Array[String]): Unit = {
    // 1. 创建可变Set,初始化书籍信息
    val library1: Set[String] = Set("Java 编程思想", "Scala 实战", "深入理解计算机系统", "算法导论")
    println("1. 初始图书馆1书籍:" + library1)

    // 2. 使用 += 添加两本新书籍
    library1 += "Spring Boot 实战"  // 第一本新增书
    library1 += "MySQL 高性能"     // 第二本新增书
    println("2. 添加两本新书后,图书馆1:" + library1)

    // 3. 使用 -= 删除一本书(示例:删除"算法导论")
    library1 -= "算法导论"
    println("3. 删除'算法导论'后,图书馆1:" + library1)

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

    // 5. 创建另一个可变Set(图书馆2)
    val library2: Set[String] = Set("Scala 实战", "MySQL 高性能", "Python 从入门到实践", "Redis 设计与实现")
    println("5. 图书馆2书籍:" + library2)

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

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

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