1.创建一个可变的Map,用于存储图书馆中的书籍信息。键为书籍编号,值为包含书籍名称、作者、库存数量的元组。初始化这个Map,包括几本你喜欢的书籍的信息。
2.使用+=
操作符向图书馆集合中添加两本新的书籍。
3.根据书籍编号查询某一本特定的书籍信息。使用get
方法获取信息,并输出结果。
4.修改某本书籍的库存数量。假设可以通过键找到对应的元组并修改其中的值,这里体现了可变Map的特性。
5.使用-=
操作符从图书馆集合中删除一本书。
6.遍历图书馆书籍Map,并打印出每本书的信息。
import scala.collection.mutable
object Test42_2 {
def main(args: Array[String]): Unit = {
//1.
val map1: mutable.Map[String, (String, String, Int)] = mutable.Map(
"001" -> ("水浒传", "施耐庵", 5),
"002" -> ("红楼梦", "曹雪芹", 3),
"003" -> ("西游记", "吴承恩", 2)
)
// 2. 使用+=操作符向图书馆集合中添加两本新的书籍
map1 += ("B004" -> ("活着", "余华", 4))
map1 += ("B005" -> ("骆驼祥子", "老舍", 1))
// 3. 根据书籍编号查询某一本特定的书籍信息
val bookIdToFind = "002"
val bookInfo = map1.get(bookIdToFind) match {
case Some((title, author, quantity)) =>
println(s"书籍编号: $bookIdToFind\n书名: $title\n作者: $author\n库存量: $quantity")
case None =>
println(s"No book found with ID: $bookIdToFind")
}
println(bookInfo)
// 4. 修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值)
val newQuantity = 12
map1.update("001",(map1("001")._1,map1("001")._2,newQuantity))
// 5. 使用-=操作符从图书馆集合中删除一本书
map1 -= "003"
// 6. 遍历图书馆书籍Map,并打印出每本书的信息
println("\n图书馆藏书列表:")
for ((bookId,info)<- map1){
val (title,author,quantity)=info
println(s"书籍编号:$bookId\n书名: $title\n作者: $author\n库存量: $quantity\n")
}
}
}