Scala 图书馆管理系统1.1

21 阅读1分钟

4. 修改库存数量

library.get(updateId) match {
  case Some((name, author, stock)) =>
    library(updateId) = (name, author, stock + 2)
    println(s"修改后: ${library(updateId)}")
  case None => 
    println(s"未找到要修改的书籍")
}

解析:

  • 先检查书籍是否存在
  • 使用 library(key) = newValue 语法更新值
  • 元组是不可变的,所以创建新的元组替换原值
  • 体现了可变Map的特性:可以修改已存在的键值对

5. 删除书籍

library -= removeId

解析:

  • -= 操作符 - 从Map中移除指定键的元素
  • 语法:map -= key
  • 如果键不存在,操作不会产生错误

6. 遍历打印

library.foreach { case (id, (name, author, stock)) =>
  println(s"编号: $id, 书名: $name, 作者: $author, 库存: $stock")
}

解析:

  • foreach - 遍历集合的每个元素
  • 使用模式匹配解构键值对
  • case (id, (name, author, stock)) - 分别提取键和元组的各个部分