加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Scala中使用默认操作实现Map

发布时间:2020-12-16 09:47:50 所属栏目:安全 来源:网络整理
导读:class DefaultListMap[A,B : List[B]] extends HashMap[A,B] { override def default(key: A) = List[B]() } 我无法创建地图A – 列表[B]。在我的情况下,它是长 – List [String]但是当我从map没有值的键,我想创建空List,而不是抛出异常。我尝试了不同的
class DefaultListMap[A,B <: List[B]] extends HashMap[A,B] {
    override def default(key: A) = List[B]() 
  }

我无法创建地图A – >列表[B]。在我的情况下,它是长 – > List [String]但是当我从map没有值的键,我想创建空List,而不是抛出异常。我尝试了不同的组合,但我不知道如何使代码上面通过编译器。

提前致谢。

解决方法

为什么不使用withDefaultValue(value)?

scala> val m = Map[Int,List[String]]().withDefaultValue(List())
m: scala.collection.immutable.Map[Int,List[String]] = Map()

scala> m(123)
res1: List[String] = List()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读