2013-04-07 106 views
1

在创建array之前,您是否始终要知道array的大小为Hashtable哈希表大小设置

+0

请你详细说明一下吗? – sanbhat 2013-04-07 06:24:40

回答

3

不,你不知道。质量实施(Hashtable/HashMap)会随着元素数量的增加而自动调整其大小。

如果你正在谈论你自己的实现,答案取决于哈希表是否能够随着其大小增长而增加桶的数量。

如果您担心调整大小对性能的影响,则正确的方法是在整个应用程序的上下文中进行分析。

+0

这会导致大量的数组复制,不是吗? – user 2013-04-07 06:26:16

+0

@user:这将导致*一些*复制,当然。但是,该复制不太可能成为应用程序的最终性能瓶颈,因此可能不值得优化。如果有疑问,简介。 – NPE 2013-04-07 06:28:34

+0

+1 NPE和@user它在后台增加大小,这实际上不会影响数据结构的性能。 – 2013-04-07 06:29:00

0

不,实际上它不好使它固定到一定的值。 欲了解更多信息,你可以从这里开始Wikipedia