HashMap是Hashtable的轻量级的实现,他们都完成了Map接口的实现,主要区别在于HashMap允许空键值,由于非线程安全,只能有一个线程访问,效率高。
HashMap把Hashtable的contains的方法去掉了,改成containvalues和containkey,因为contain方法容易让人产生误解。
Hashtable继承字Dictionary类,而HashMap是java2.1引进的Map interface的一个实现,最大不同是,Hashtable的方法是Synchronize的,而HashMap就不是,在多线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就不必须额外提供。