java – 在番石榴中有相应的不可变的枚举地图吗?

我最近了解了EnumMap在Java中的优点,并希望替换现有的ImmutableMap< OccupancyType,BigDecimal>到EnumMap。不过,我也喜欢ImmutableMap提供的不变的财产。

>有没有一个变种,可用于番石榴的ImmutableEnumMap?
>在存储哪个(EnumMap vs ImmutableMap)表现更好?
>我找不到这两个的比较。如果有人能指出一个链接或者对两个数据结构的效率提供一些见解,我将不胜感激。

最佳答案
番石榴贡献者在这里。

Guava目前没有一个ImmutableEnumMap变体,但如果是这样,它可能只是一个EnumMap的包装。 (也就是说,稍微更好的不可变的实现是可能的。)

在任何情况下,EnumMap将执行得比基本的ImmutableMap更好;这是很难或不可能的打败。

(我会file an issue调查为枚举键类型添加一个ImmutableMap变体,

更新:Guava 14增加Maps.immutableEnumMap()

转载注明原文:java – 在番石榴中有相应的不可变的枚举地图吗? - 代码日志