gpt4 book ai didi

Java HashMap 分配的大小

转载 作者:行者123 更新时间:2023-12-02 03:21:11 24 4
gpt4 key购买 nike

Java Hash Map 有一个 size() 方法,它反射(reflect)了 HashMap 中设置了多少元素。我很想知道 HashMap 的实际大小是多少。我尝试了不同的方法,但找不到正确的方法。我将初始容量设置为16

HashMap hm = new HashMap(16);
for(int i=0;i<100;++i){
System.out.println(hm.size());
UUID uuid = UUID.randomUUID();
hm.pet(uuid ,null);

}

当我添加这个大小可以增加的值时,我如何检查实际分配的大小?

最佳答案

what is the actual size of the Hash Map

我假设您问的是容量。容量是保存 HashMap 存储桶的数组的长度。默认初始容量为16。

capacity方法不是公开的,但您可以根据当前size、初始容量和负载因子计算当前容量。

如果使用默认值(例如,使用无参数构造函数创建 HashMap 时),初始容量为 16,默认加载因子为 0.75。这意味着,一旦大小达到 16 * 0.75 == 12,容量将翻倍至 32。一旦大小达到 32 * 0.75 == 24,容量将翻倍至 64。

如果将不同的初始容量和/或负载系数传递给构造函数,计算将受到相应影响。

关于Java HashMap 分配的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54785618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com