Tôi có HashMap có thể thay đổi và muốn sử dụng nó như một từ điển mặc định. Phương pháp hiển nhiên dường như sử dụng getOrElse và cung cấp giá trị mặc định mỗi lần làm giá trị thứ hai. Tuy nhiên điều này có vẻ hơi không phù hợp trong trường hợp sử dụng của tôi vì giá trị mặc định không thay đổi.Scala: Sử dụng HashMap với giá trị mặc định
var x = HashMap(1 -> "b", 2 -> "a", 3 -> "c")
println(x.getOrElse(4, "_")
println(x.getOrElse(5, "_"))
// And so on...
println(x.getOrElse(10, "_"))
Có cách nào để tạo HashMap (hoặc lớp tương tự) để cố gắng truy cập các khóa không xác định trả về giá trị mặc định được thiết lập khi tạo HashMap không? Tôi nhận thấy rằng HashMap.default chỉ được thiết lập để ném một ngoại lệ nhưng tôi tự hỏi nếu điều này có thể được thay đổi ...
Để bất cứ ai tình cờ gặp câu hỏi này, bài missingfaktor của khẳng định một cách chính xác rằng "Scala 2.9.1 mutable.Map đi kèm với một phương pháp withDefaultValue." – wynnch