创建一个可变 Map,用于存储图书馆中的书籍信息

48 阅读1分钟
import scala.collection.mutable

object w44 {
  def main(args: Array[String]): Unit = {
    // 1. 创建一个可变 Map,用于存储图书馆中的书籍信息
    var libraryMap = mutable.Map[String, (String, String, Int)]()
    // 初始化包含几本喜欢的书籍信息
    libraryMap += ("001" -> ("Scala编程", "Martin Odersky", 10))
    libraryMap += ("002" -> ("Effective Scala", "Josh Suereth", 8))

    // 2. 使用 += 操作符添加两本新的书籍到图书馆集合中
    libraryMap += ("003" -> ("Spark实战", "Holden Karau", 12))
    libraryMap += ("004" -> ("Hadoop权威指南", "Tom White", 9))

    // 3. 根据书籍编号查询某一本特定的书籍信息,使用 get 方法,并输出结果
    val bookOption = libraryMap.get("003")
    bookOption match {
      case Some((name, author, quantity)) =>
        println(s"书籍编号 003 的信息:名称 - $name, 作者 - $author, 库存数量 - $quantity")
      case None =>
        println("未找到书籍编号为 003 的书籍信息")
    }

    // 4. 修改某本书籍的库存数量
    if (libraryMap.contains("001")) {
      val (name, author, quantity) = libraryMap("001")
      libraryMap("001") = (name, author, quantity + 5)
    }

    // 5. 使用 -= 操作符从图书馆集合中删除一本书
    libraryMap -= "002"

    // 6. 遍历图书馆书籍 Map,并打印出每本书的信息
    println("\n遍历图书馆书籍信息:")
    for ((id, (name, author, quantity)) <- libraryMap) {
      println(s"书籍编号:$id, 名称 - $name, 作者 - $author, 库存数量 - $quantity")
    }
  }
}