自测一下你的scala

42 阅读1分钟

屏幕截图 2025-11-25 113422.png

屏幕截图 2025-11-25 113459.png

微信图片_20251014151033_10_20.jpg

✅ 1️⃣

import scala.collection.mutable

object LibrarySetDemo extends App {
  // 1. 创建可变 Set,初始化几本喜欢的书
  val library1: mutable.Set[String] = mutable.Set(
    "Java 编程思想",
    "Scala 实战",
    "Python 从入门到实践"
  )

  // 2. 添加两本新书(+= 操作符)
  library1 += "算法导论"
  library1 += "深度学习"

  // 3. 删除一本书(-= 操作符)
  library1 -= "Scala 实战"

  // 4. 检查特定书籍是否存在(contains)
  val targetBook = "Python 从入门到实践"
  println(s"『$targetBook』在图书馆中吗? ${library1.contains(targetBook)}")

  // 5. 创建另一个图书馆 Set
  val library2: mutable.Set[String] = mutable.Set(
    "Python 从入门到实践",
    "算法导论",
    "人月神话"
  )

  // 6. 并集(union)
  val unionSet = library1 union library2
  println("并集: " + unionSet)

  // 7. 交集(intersect)
  val intersectSet = library1 intersect library2
  println("交集: " + intersectSet)

  // 8. 差集(library1 相对于 library2)
  val diffSet = library1 diff library2
  println("差集(library1 - library2): " + diffSet)
}

import scala.collection.mutable

object LibraryMapDemo extends App {
  type BookID = Int
  type BookInfo = (String, String, Int) // (书名, 作者, 库存)

  // 1. 创建可变 Map,初始化几本喜欢的书
  val libraryMap: mutable.Map[BookID, BookInfo] = mutable.Map(
    1001 -> ("Java 编程思想", "Bruce Eckel", 5),
    1002 -> ("Scala 实战", "Odersky", 3),
    1003 -> ("Python 从入门到实践", "Eric Matthes", 10)
  )

  // 2. 添加两本新书(= 操作符)
  libraryMap(1004) = ("算法导论", "Thomas H. Cormen", 4)
  libraryMap(1005) = ("深度学习", "Ian Goodfellow", 2)

  // 3. 根据书籍编号查询(get 方法)
  val targetId = 1003
  println(s"编号 $targetId 的书籍: " + libraryMap.get(targetId))

  // 4. 修改库存数量(体现可变 Map)
  val current = libraryMap(targetId)
  libraryMap(targetId) = current.copy(_3 = current._3 + 8) // 库存 +8
  println(s"修改后库存: " + libraryMap(targetId))
}