Ich habe eine veränderbare HashMap und möchte es wie ein Standard-Wörterbuch verwenden. Die offensichtliche Methode scheint zu sein, getOrElse zu verwenden und den Standardwert jedes Mal als einen zweiten Wert zur Verfügung zu stellen. Dies scheint jedoch in meinem Anwendungsfall etwas unelegant zu sein, da sich der Standardwert nicht ändert.Scala: Verwenden von HashMap mit einem Standardwert
var x = HashMap(1 -> "b", 2 -> "a", 3 -> "c")
println(x.getOrElse(4, "_")
println(x.getOrElse(5, "_"))
// And so on...
println(x.getOrElse(10, "_"))
Gibt es eine Möglichkeit, eine HashMap (oder Klasse) so zu erstellen, dass nicht definierte Schlüssel für den Zugriff versucht, einen Standardwert zurück gesetzt auf der Schaffung des HashMap? Ich bemerke, dass HashMap.default wird nur gesetzt, eine Ausnahme zu werfen, aber ich frage mich, ob dies geändert werden kann ...
Für jeden, der auf diese Frage stolpert, missingfaktor der Post heißt es richtig, dass „Scala 2.9.1 mutable.Map kommt mit einem withDefaultValue Methode.“ – wynnch