【问题标题】:Hash Table Size Setting哈希表大小设置
【发布时间】:2013-03-29 09:09:14
【问题描述】:

在创建array 之前,您是否总是需要知道array 的大小以用于Hashtable

【问题讨论】:

  • 你能详细说明一下吗?

标签: java arrays algorithm hash


【解决方案1】:

不,你没有。高质量的实现 (Hashtable/HashMap) 会随着元素数量的增加而自动调整大小。

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

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

【讨论】:

  • 那会导致大量的数组复制,不是吗?
  • @user:这肯定会导致一些复制。但是,这种复制不太可能成为应用程序的最终性能瓶颈,因此可能不值得优化。如有疑问,请提供个人资料。
  • +1 到 NPE 和 @user 它会增加后台的大小,这实际上不会影响数据结构的性能。
  • 只是为了确认我希望是显而易见的,如果你知道元素的数量,你应该预先设置大小,不是吗?
  • @user:如果你知道元素的数量,那就去吧。它可能会或可能不会给你买任何东西,但它不会造成任何伤害。
【解决方案2】:

不,实际上将其固定为某个值是不好的。 欲了解更多信息,您可以从 Wikipedia 开始。

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 2014-05-09
    相关资源
    最近更新 更多