【发布时间】:2011-04-08 14:40:45
【问题描述】:
我有一个可变的 HashMap,想像使用默认字典一样使用它。显而易见的方法似乎是使用 getOrElse 并每次都提供默认值作为第二个值。然而,这在我的用例中似乎有点不雅,因为默认值没有改变。
var x = HashMap(1 -> "b", 2 -> "a", 3 -> "c")
println(x.getOrElse(4, "_")
println(x.getOrElse(5, "_"))
// And so on...
println(x.getOrElse(10, "_"))
有什么方法可以创建一个 HashMap(或类似的类),以便尝试访问未定义的键返回一个在创建 HashMap 时设置的默认值?我注意到 HashMap.default 只是设置为抛出异常,但我想知道这是否可以更改...
【问题讨论】:
-
对于任何偶然发现这个问题的人,missingfaktor 的帖子正确地指出“Scala 2.9.1. mutable.Map 带有 withDefaultValue 方法”
标签: oop data-structures scala hashmap