使用枚举键的稀疏映射

时间:2013-04-25 10:24:04

标签: java map enums sparse-matrix

我需要使用枚举键创建一个Map,其中只会实际插入一小部分枚举常量。什么是最好的方法? 如果其底层数组的长度等于枚举常量的总数,则EnumMap效率低下。

2 个答案:

答案 0 :(得分:2)

我建议使用普通的HashMap

枚举的计算哈希既简单又便宜。应该没有明显的内存开销,因为您没有复制枚举对象,而是创建对同一对象的多个引用。因此,存储整数键和存储对枚举对象的引用之间应该没什么区别。

答案 1 :(得分:0)

我也会使用HashMapTreeMap(取决于您是否需要确定性迭代器)。由于您的数据稀少,任何实际或想象的开销都不太可能是一个重大的性能障碍。