我已经以字符串格式提供了地图数据,例如 -
in = ch.ed,
au = nsw.syd,
us = ny.nj,
ca = on.to,
有人可以建议我应该在java中使用哪种数据结构来放入这些数据。 “Enummap”或“hashmap”或其他任何建议? 如果我使用“enummap”有什么好处。 我的地图将在整个包裹中保持不变。
由于
答案 0 :(得分:3)
EnumMap
与HashMap
之间的主要difference是EnumMap
专门针对Map
的{{1}}实施作为密钥。
因此,如果您的Enum
类型为keys
,请转到Enum
,否则转到HashMap。
将EnumMap
作为关键点有一些优点,因为
地图的键应该是不可修改的和唯一的,这可以使用Enum保证。
答案 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
设计模式。