我已经有一个字符串格式的地图数据,例如 -
in = ch.ed,
au = nsw.syd,
us = ny.nj,
ca = on.to,
有人可以建议我应该在java中使用哪种数据结构来放入这些数据。“Enummap”或“hashmap”或者如果有任何其他建议?如果我使用“enummap”有什么好处。我的地图将在整个包裹中保持不变。
谢谢
我已经有一个字符串格式的地图数据,例如 -
in = ch.ed,
au = nsw.syd,
us = ny.nj,
ca = on.to,
有人可以建议我应该在java中使用哪种数据结构来放入这些数据。“Enummap”或“hashmap”或者如果有任何其他建议?如果我使用“enummap”有什么好处。我的地图将在整个包裹中保持不变。
谢谢
和之间的主要区别在于它是专门针对as key的专门实现。EnumMap
HashMap
EnumMap
Map
Enum
因此,如果您keys
是这种类型Enum
,请选择EnumMap
其他类型的 HashMap。
ENUM
作为钥匙 有一些优点,因为
地图的键应该是不可修改和唯一的,这可以使用枚举来保证。
如果您想要排序后的地图,请使用 Tree Map。
如果要求以与放置条目相同的顺序迭代条目,请考虑 LinkedHashMap
否则,如果您不关心上述任何条件,则始终更喜欢 HashMap
EnumMap 是与枚举类型 Keys 一起使用的专用 Map 实现。请参阅http://docs.oracle.com/javase/7/docs/api/java/util/EnumMap.html。因此,如果您的键是 Enum 类型,请选择它。
您可以选择静态HashMap
,它可以在应用程序启动时进行初始化和填充。其他classes
只能从 Map 中获取值。您可以将其包装map
在 a 周围,bean
并且只有该 bean 才能被 all 访问classes
。我想告诉你的是,你应该选择singleton
设计模式。