【发布时间】:2019-03-30 22:06:29
【问题描述】:
我明白,当我们声明如下地图时:
Map <String, Integer> map = new HashMap ();
默认加载因子为0.75,大小为16,当map的桶数超过12个元素时,大小变为32。
但是,使用 put 函数时,map 选择放置对象的桶的索引的方式由 hascode % n 定义,但是当 map 大小超过负载因子时会发生什么? n不再具有相同的值,因此,如果在应用hascode % n时,结果索引与以前不同,如何找到先前设置的条目?
我的最后一个问题是:
我们增加大小后,桶的索引怎么能一样?
【问题讨论】:
-
Map不维护索引。顺便说一句,hashcode()是项目的属性,而不是基于项目可能位于的任何集合...
标签: java dictionary hash hashmap hashtable