【发布时间】:2013-05-17 02:06:32
【问题描述】:
正如EnumMap 是与enum 一起工作时更好的地图选择一样,是否有更好的地图选择(而不是每个人都使用的通用HashMap)来处理角色?
字符有点类似于枚举成员,因为它们的数量是确定的,所以我认为可能有一种“特殊”的地图适合它们?
[编辑] “更好”是指“更快”并使用“更少内存”
【问题讨论】:
-
据我所知没有更好的选择,但仅使用 HashMap 的缺点是什么?
-
也许你正在做的一个例子将有助于理解你对“更好的方式”的意思。
-
更好,我的意思是更快(并且使用更少的内存)
-
如果您将自己限制在例如ASCII 字符然后你可以使用一个数组(如果你使用 Unicode 字符,你可以做同样的事情,除了数组会非常大)。由于字符具有可比性,因此您可以将它们存储在 TreeMap 中,它比 HashMap 更节省空间,因为没有负载因子,除非以 lg(n) 查找/插入/删除为代价。
标签: java map character enum-map