有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java调整hashmap的存储桶大小

hashmap的性能取决于负载因子(l)和容量(c)。如果地图中的条目数大于或等于(l*c),则会改变内部数据结构,即增加存储桶的容量或大小。我的问题是,它如何计算hashmap中的条目数来检查所提到的条件?是地图中(键、值)对的总数,还是正在使用的存储桶中参与的位置的数量?如果是桶中参与的位置的数量,你如何跟踪这些位置?我假设是为了避免碰撞而使用链锁


共 (1) 个答案

  1. # 1 楼答案

    load factor是它所持有的the number of elements和你的HashMapcapacity的比率(即你有多少个存储桶)

    因此,使用一个简单的array10 spaces.75的负载因子意味着当你的元素除以你的大小大于或等于75%(这意味着你的数组中有8个元素)时,数据结构必须重新生长以降低比率

    HashMap通常会跟踪它在每个add/remove操作中持有的number of elements,并重新计算load factor