Hashtable简介
Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。Hashtable也是JDK1.0引入的类,是线程安全的,能用于多线程环境中。Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。HashTable的Value不能是null。默认大小是11,HashMap的默认大小是16.
HashTable源码剖析
Hashtable的关键变量
//保存key-value的数组。 //Hashtable同样采用单链表解决冲突,每一个Entry本质上是一个单向链表 private transient Entry[] table; //Hashtable中键值对的数量 private transient int count; //阈值,用于判断是否需要调整Hashtable的容量(threshold = 容量*加载因子) private int threshold; //加载因子 private float loadFactor; //Hashtable被改变的次数,用于fail-fast机制的实现 private transient int modCount = 0; //序列版本号 private static final long serialVersionUID = 1421746759512286392L;