Hashtable

2019-02-17  本文已影响0人  秋笙fine

Hashtable:synchronized修饰所有方法,JDK1.0出现,线程安全,效率低下,弃用。
Hashtable底层是散列表,基于数组+链表。由于没有红黑树的引入,其put方法与JDK1.8之前HashMap的put相同。

  1. 根据key的HashCode,求出table的下标索引,遍历链表,找到key值,替代value。
    (注意这里的hashCode是采用的对象的hashCode,而并没有重新再哈希/使用位哈希)

而其fail-fast机制是通过modCount来实现的。

get方法也是先获得索引,然后遍历,最后将value返回。

注:
默认初始容量是11,
线程安全,但效率低,不允许key/value为null。
填充/加载因子为0.75。
再哈希/扩容为 2*原始数组长度+1 例如:原来为11 ,扩容后为23。

上一篇 下一篇

猜你喜欢

热点阅读