Đối với bản đồ trong Scala, nếu ms - (k, 1, m)
trả về bản đồ có chứa tất cả ánh xạ của ms ngoại trừ cho bất kỳ ánh xạ nào với các phím đã cho, x, 1 và m.Bản đồ chỉ với các phím nhất định
Sau đó, câu lệnh nào sẽ trả về bản đồ của tất cả ánh xạ của các ms với chỉ các khóa đã cho, x, 1 và m. tức là tôi đang tìm tập hợp con của các ms chỉ có k, 1 và m là các khóa.
này hoạt động, nhưng nó là khủng khiếp:
scala> val originalMap = Map("age" -> "20", "name" -> "jack", "hobby" -> "jumping")
ms: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(age -> 20, name -> jack, hobby -> jumping)
scala> val interestingKeys = List("name", "hobby")
interesting: List[java.lang.String] = List(name, hobby)
scala> val notInterestingMap = originalMap -- interestingKeys
notInterestingMap: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(age -> 20)
scala> val interestingMap = originalMap -- notInterestingMap.keySet
interestingMap: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(name -> jack, hobby -> jumping)
Đối với những người sử dụng AKKA kiên trì, nó đáng nói rằng đầu ra 'filterKeys' là _not_ serializable, tôi phải đối mặt với điều đó và phải mất một lúc cho đến khi tôi nhận ra. Xem https://issues.scala-lang.org/browse/SI-6654 –