如何有效地使用Enum对象作为Map数据结构中的键?

And*_*rey 3 java enums map

是否有更高效和专业的Map集合实现,其中Enum对象可以作为键?

aio*_*obe 18

是.EnumMap正是这样; Map接口的有效实现,其中密钥类型必须是枚举:

来自API documentation:

Class EnumMap<K extends Enum<K>,V>

用于枚举类型键的专用Map实现.枚举映射中的所有键必须来自创建映射时显式或隐式指定的单个枚举类型.枚举映射在内部表示为数组.这种表现非常紧凑和高效.

用法示例:

Map<MyEnum, String> map = new EnumMap<MyEnum, String>(MyEnum.class);
Run Code Online (Sandbox Code Playgroud)

  • 我写了我的答案,因为我不明白为什么前面的答案包括LibraryItem接口和LibraryItems的NavigableSet来说明EnumMap的使用.如果我知道OP对问题的答案不感兴趣,我显然不会打扰.:) (3认同)
  • 所以你,1.发一个简单的问题,你知道答案.2.立即自己写下一个半生不熟的答案.3.低估其他答案,因为你觉得这是"你要回答的问题"?我不明白..为什么?为了声誉? (2认同)