【发布时间】:2013-03-26 08:17:50
【问题描述】:
我正在解决一个问题,我遇到了执行时间变得过长的问题,现在我正在寻找可能的优化。
问题:使用 String 或 Integer 作为 haskey 在性能上是否有任何(相当大的)差异?
问题是我有一个图,其中节点存储在哈希表中,字符串作为键。例如,键如下 - “0011”或“1011”等。现在我也可以将它们转换为整数,如果这意味着执行时间的改进。
【问题讨论】:
-
String 的哈希码是缓存的,所以应该不会有太大的区别。问题可能出在其他地方......您应该分析您的代码以找到瓶颈。注意:在单线程情况下,HashMap 的性能会比 Hashtable 稍好。
-
我建议你分析你的应用程序,看看它什么时候花费了大部分时间。以这种方式更改关键时间不太可能产生影响。