【问题标题】:Is there a way of creating an IdentityMap in scala 2.8有没有办法在 scala 2.8 中创建 IdentityMap
【发布时间】:2010-07-21 14:51:08
【问题描述】:

collection.jcl 中曾经有一个IdentityHashMap:有没有办法在新的 2.8 集合库中构造相同的东西(可能使用定制的相等关系)?

【问题讨论】:

  • 顺便问一下,你能解释一下“定制的平等关系”是什么意思吗?
  • 我的意思是一种注入 a 等于 b iff X 成立 用于您可以定义自己的 X 的方法

标签: scala collections scala-2.8


【解决方案1】:

scala.collection.mutable.HashMap 中有两个受保护的方法,elemEqualselemHashCode。如果您覆盖它们,您可以创建自己的IdentityHashMap

scala.collection.immutable.HashMap 中只有elemHashCode。 (我不知道为什么,随便。)

【讨论】:

  • 这不适用于不可变地图,因为每次添加时都会创建一个新地图。因此,您还必须修改更新/删除逻辑,这可能很快就会变得混乱
  • 是的,这是有道理的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
相关资源
最近更新 更多