随堂训练 map

24 阅读1分钟

5c1e2091ee0e4bf98707708cfe5a5a19.png~tplv-a9rns2rl98-24_720_720.png

package tool
import scala.collection.mutable
import scala.collection.mutable.Set

object LibrarySetDemo {
  def main(args: Array[String]): Unit = {
    // 1. 创建可变Set并初始化书籍
    val library1 = mutable.Set("Java编程思想", "Scala实战", "数据结构与算法")

    // 2. 添加两本新书
    library1 += "Python从入门到实践"
    library1 += "设计模式"

    // 3. 删除一本书
    library1 -= "Scala实战"

    // 4. 检查指定书籍是否存在
    val bookToCheck = "Python从入门到实践"
    println(s"${bookToCheck}是否存在:${library1.contains(bookToCheck)}")

    // 5. 创建第二个图书馆Set
    val library2 = Set("数据结构与算法", "设计模式", "计算机网络")

    // 6. 求两个集合的并集
    val unionSet = library1.union(library2)
    println("并集结果:" + unionSet)

    // 7. 求两个集合的交集
    val intersectSet = library1.intersect(library2)
    println("交集结果:" + intersectSet)

    // 8. 求library1相对于library2的差集
    val diffSet = library1.diff(library2)
    println("差集结果:" + diffSet)
  }
}
package tool
import scala.collection.mutable.Map

object LibraryMapDemo {
  def main(args: Array[String]): Unit = {
    // 1. 创建可变Map并初始化书籍信息(键为书籍名,值为(作者, 库存)元组)
    val bookMap = Map(
      "Java编程思想" -> ("Bruce Eckel", 5),
      "Scala实战" -> ("Dean Wampler", 3)
    )

    // 2. 添加两本新书
    bookMap += "Python从入门到实践" -> ("Eric Matthes", 4)
    bookMap += "设计模式" -> ("GoF", 2)

    // 3. 根据书籍名查询信息
    val queryBook = "Java编程思想"
    println(s"${queryBook}的信息:${bookMap.get(queryBook)}")

    // 4. 修改某本书的库存
    bookMap("Python从入门到实践") = ("Eric Matthes", 6)

    // 5. 删除一本书
    bookMap -= "Scala实战"

    // 6. 遍历Map并打印每本书的信息
    println("所有书籍信息:")
    bookMap.foreach { case (name, (author, stock)) =>
      println(s"书名:${name},作者:${author},库存:${stock}")
    }
  }
}

Snipaste_2025-12-01_14-27-39.png

Snipaste_2025-12-01_14-27-21.png