12

在 Java 中,我们有两个很好的类:EnumSet用于 s 的集合enumEnumMap用于键为 s 的映射enumEnumSet表示为 64 位字(或 64 位字数组)和EnumMap值数组,两者均由enums 的序数索引。所以插入/查找/删除/...操作只需要O(1)时间。

我们在 Scala 中是否有类似的东西——可变的还是不可变的?

我发现了对整数进行操作的BitSet(可变和不可变),所以我认为会有一个有效的Enumeration. Value由它支持。但我发现 only Enumeration.ValueSet,它由 SortedSet[Int] 支持。虽然这还不错,BitSet但为此目的似乎更有效。

我没有找到任何优化的地图实现,其Enumeration.Valueas 键类似于EnumMap.

4

1 回答 1

5

实际上,在 2.10 Enumeration.ValueSet 中使用了 BitSet。

class ValueSet private[ValueSet] (private[this] var nnIds: immutable.BitSet)

那会在这里。

于 2012-11-17T21:28:55.773 回答