在 Java 中,我们有两个很好的类:EnumSet
用于 s 的集合enum
和EnumMap
用于键为 s 的映射enum
。EnumSet
表示为 64 位字(或 64 位字数组)和EnumMap
值数组,两者均由enum
s 的序数索引。所以插入/查找/删除/...操作只需要O(1)时间。
我们在 Scala 中是否有类似的东西——可变的还是不可变的?
我发现了对整数进行操作的BitSet(可变和不可变),所以我认为会有一个有效的Enumeration
. Value
由它支持。但我发现 only Enumeration.ValueSet
,它由 SortedSet[Int] 支持。虽然这还不错,BitSet
但为此目的似乎更有效。
我没有找到任何优化的地图实现,其Enumeration.Value
as 键类似于EnumMap
.