1

I need to create a Map with enum keys where only a small fraction of the enum constants will be actually inserted. What is the best approach? An EnumMap would be inefficient if the length of its underlying array is equal to the total number of enum constants.

4

2 回答 2

2

我建议使用普通的HashMap.

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

于 2013-04-25T13:53:27.220 回答
0

我也会选择 aHashMap或 a TreeMap(取决于您是否需要确定性迭代器)。由于您的数据稀疏,因此任何实际或想象的开销都不太可能成为重大的性能障碍。

于 2013-04-25T13:59:13.473 回答