Scala 图书馆管理系统代码解析
2025-11-2844阅读2分钟
专栏:
Scala
实训一:可变 Map 实现图书馆管理系统
代码结构解析
import scala.collection.mutable
object LibraryMapSystem {
def main(args: Array[String]): Unit = {
// 代码实现...
}
}
解析:
import scala.collection.mutable- 导入可变集合包object LibraryMapSystem- 创建单例对象main方法 - 程序入口点
1. 创建可变 Map
val library = mutable.Map[String, (String, String, Int)](
"B001" -> ("Scala 编程", "Martin Odersky", 5),
"B002" -> ("Java 核心技术", "Cay Horstmann", 3),
"B003" -> ("Python 学习手册", "Mark Lutz", 7)
)
解析:
mutable.Map[String, (String, String, Int)]- 创建键为String,值为三元组的可变Map- 键:书籍编号(如 "B001")
- 值:元组包含(书籍名称,作者,库存数量)
- 使用
->操作符创建键值对
2. 添加新书籍
library += ("B004" -> ("数据结构与算法", "严蔚敏", 4))
library += ("B005" -> ("设计模式", "Erich Gamma", 6))
解析:
+=操作符 - 向可变Map添加新元素- 语法:
map += (key -> value) - 如果键已存在,会更新对应的值
3. 查询书籍信息
val bookId = "B002"
val bookInfo = library.get(bookId)
bookInfo match {
case Some((name, author, stock)) =>
println(s"找到书籍: $name, 作者: $author, 库存: $stock")
case None =>
println(s"未找到编号为 $bookId 的书籍")
}
解析:
library.get(bookId)- 安全获取值,返回Option类型Option类型:Some(value)或None- 使用模式匹配处理两种可能情况
- 避免直接使用
library(bookId)可能抛出异常