##Hashtable继承结构:
们可以看出,HashTable不但继承了Dictionary,而且实现了Map、Cloneable和Serializable接口,所以HashTable也可以实例化。HashTable和hashMap不同,HashTable是线程安全的(等会我们在源码中就能看出)。
接口
put方法中,首先检测value是否为null,如果为null则会抛出NullPointerException异常 从HashTable的API中可以看出,HashTable之所以是线程安全的,是因为方法上都加了synchronized关键字。
属性
和HashMap一样,HashTable内部也维护了一个数组,数组中存放的是Entry
构造函数
和HashMap基本一样
put
put方法中,首先检测value是否为null,如果为null则会抛出NullPointerException异常,这个是和HashMap的不同点。
get
HashTable的遍历方式
Hashtable的遍历方式比较简单,一般分两步:
- 获得Entry或key或value的集合;
- 通过Iterator迭代器或者Enumeration遍历此集合。