在Scala中,可以使用Map
来实现一个方便的默认值映射。默认值映射是指当访问一个不存在的键时,返回一个默认值而不是抛出异常。
以下是一个示例代码:
import scala.collection.mutable
class DefaultValueMap[A, B](default: B) extends mutable.HashMap[A, B] {
override def apply(key: A): B = getOrElseUpdate(key, default)
}
// 使用示例
val map = new DefaultValueMap[String, Int](0)
map("key1") = 1
map("key2") = 2
println(map("key1")) // 输出 1
println(map("key2")) // 输出 2
println(map("key3")) // 输出 0,使用默认值
在上述示例中,我们定义了一个DefaultValueMap
类,继承自mutable.HashMap
。该类接受一个默认值作为参数,并重写了apply
方法。在apply
方法中,我们使用getOrElseUpdate
方法来获取键对应的值,如果键不存在,则将默认值插入到映射中并返回。
使用示例中,我们创建了一个DefaultValueMap
实例,并向其中插入了两个键值对。然后通过访问键来获取对应的值,如果键不存在,则返回默认值。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。您可以通过以下链接了解更多信息:
领取专属 10元无门槛券
手把手带您无忧上云