我最近了解了 EnumMap 在 Java 中的好处,并想替换现有的 ImmutableMap<OccupancyType, BigDecimal>
到枚举映射。不过,我也喜欢 ImmutableMap 提供的不可变属性。
- guava 中是否有变体 ImmutableEnumMap 可用?
- 在存储方面,哪个(EnumMap 与 ImmutableMap)性能更好?
- 我找不到两者的比较。如果有人能指出一个链接或就这两种数据结构的效率提供一些见解,我将不胜感激?
最佳答案
Guava 贡献者在这里。
Guava 目前没有 ImmutableEnumMap
变体,但如果有,它可能只是 EnumMap
的包装器。 (也就是说,更好的不可变实现是可能的。)
EnumMap
都会比基本的 ImmutableMap
执行得更好;很难或不可能击败。
(不过,我将 file an issue 研究为枚举键类型添加 ImmutableMap
变体。)
更新:Guava 14 添加了 Maps.immutableEnumMap()
.
关于java - Guava 中是否有对应的不可变枚举映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244402/