hash表可以存储元素位置为桶,通常一个桶只有一个元素,hash算法在计算时出现hash冲突时会在一个桶下装两个以上的元素。
hashmap与hashset包含如下属性:
容量:hash桶中的数量。
初始化容量:创建表时桶的数量。
尺寸:(size)hash中记录的数量
负载因子:负载因子等于size/capacity 。负载因子为0表示空表。
hash表中有个负载极限,负载极限是0-1的数值,负载极限决定了hash表的最大填满程度,当hash表中的负载因子达到指定的负载极限时,会成倍的增加桶的容量。将原有对象重新分配。这称为rehashing.
hashset中默认的负载极限为0.75,负载极限是时间与空间上的一种折中成本,较高的负载极限可以降低hash表所占用的内存空间。会增加查询数据的时间开销,较低的负载极限会提高性能,但是增加hash表的所占用的内存开销。