views:

88

answers:

1

There used to be an IdentityHashMap in collection.jcl: is there a way of constructing the same thing in the new 2.8 collections library (perhaps with a bespoke equality-relation)?

+4  A: 

In scala.collection.mutable.HashMap there are two protected methods, elemEquals and elemHashCode. If you override them you can create an IdentityHashMap of your own.

In scala.collection.immutable.HashMap there is only elemHashCode. (I don't know why, offhand.)

Randall Schulz
This wouldn't work for immutable maps because a new one is created every time an addition is made. So you'd have to modify the updated/remove logic as well, which could quickly get messy
oxbow_lakes
Yes, that makes sense. Thanks.
Randall Schulz