处理常量地图数据的优化方法

时间:2013-08-05 15:41:47

标签: java

我已经以字符串格式提供了地图数据,例如 -

in = ch.ed, 
au = nsw.syd, 
us = ny.nj, 
ca = on.to,

有人可以建议我应该在java中使用哪种数据结构来放入这些数据。 “Enummap”或“hashmap”或其他任何建议? 如果我使用“enummap”有什么好处。 我的地图将在整个包裹中保持不变。

由于

3 个答案:

答案 0 :(得分:3)

EnumMapHashMap之间的主要differenceEnumMap专门针对Map的{​​{1}}实施作为密钥。

因此,如果您的Enum类型为keys,请转到Enum,否则转到HashMap。

EnumMap作为关键点有一些优点,因为

  

地图的键应该是不可修改的和唯一的,这可以使用Enum保证。

喜欢阅读:EnumMap or HashMap if lookup key is a String

答案 1 :(得分:0)

如果您想要有序地图,请使用树形图。

如果要求按照放置的顺序迭代条目,请考虑LinkedHashMap

如果您不关心上述任何标准,则总是更喜欢HashMap

EnumMap是一个专门的Map实现,用于枚举类型Keys.see http://docs.oracle.com/javase/7/docs/api/java/util/EnumMap.html.So,如果你的密钥是Enum类型的话。

答案 2 :(得分:0)

您可以选择静态HashMap,可以在应用程序启动时进行初始化和填充。其他classes只能从Map中获取值。您可以将map包裹在bean周围,并且所有classes只能访问该bean。我想告诉你的是,你应该选择singleton设计模式。