scala的Map练习题

46 阅读1分钟
  1. 创建一个可变 Map,用于存储图书馆中的书籍信息(键为书籍编号,值为包含书籍名称、作者、库存数量的元组),初始化为包含几本你喜欢的书籍信息。

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

  3. 根据书籍编号查询某一本特定的书籍信息,使用 get 方法,并输出结果。

  4. 修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值,这里体现可变 Map 的特性)。

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

  6. 遍历图书馆书籍 Map,并打印出每本书的信息。

import scala.collection.mutable

object map01 {
  def main(args: Array[String]): Unit = {
    // 1. 创建
    val books = mutable.Map(
      "01" -> ("Java编程思想", "张三", 5),
      "02" -> ("Scala实战", "李四", 3)
    )
    // 2. 添加
    books += "03" -> ("python从入门到实践", "王五", 2)
    books += "04" -> ("MYSQL数据库", "赵六", 3)
    println(books)
    // 3. 查询
    val ret = books.get("02")
    if (ret.isDefined) {
      println(ret.get)
    }
    // 4. 修改
    if (books.contains("01")) { // 先判断书籍是否存在
      val (name, author, oldStock) = books("01")
      books("01") = (name, author, oldStock + 2)
    }
    println(s"修改后01的库存数量: ${books("01")._3}")
    // 5. 删除
    books -= "04"
    // 6. 遍历
    for ((id, (name, author, stock)) <- books) {
      println(s"编号: $id | 书名: $name | 作者: $author | 库存数量: $stock")
    }
  }
}

运行结果如图:

image.png