gpt4 book ai didi

java - 为什么HashMap的运算复杂度没有考虑hash函数的复杂度?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:38 26 4
gpt4 key购买 nike

<分区>

对于 HashMap<String, String> map每次将键值对插入到映射中时,都会计算一个哈希 -

java.lang.String#hashCode

public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;

for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}

因为它是不言自明的,所以 put 操作的复杂性基本上就是哈希计算的复杂性。

那么什么才是定义 hashmap 最坏情况下 put/get 操作时间复杂度的合适方法呢?

如果你从哈希冲突的角度有同样的问题,你可以在这里找到答案: Is a Java hashmap really O(1)?

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