HashMap和Hashtable的区别
HashMap和Hashtable都属于Map接口的类,实现了将唯一键映射到特定的值上。
Hashtable不允许null键和null值。它不HashMap慢,因为它是同步的。HashMap是Hashtable的轻量级实现(非线程安全的实现),它们都完成了Map接口。
HashMap允许null键和null值,由于非线程安全,效率上可能高于Hashtable。HashMap把Hashtable的contains方法去掉了,改成了containsvalue和containsKey。因为contains方法容易让人引起误解。最大的不同是:Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。
简单总结:
HashMap: 不同步、 空键值、效率高
Hashtable:同步、 非空键值、效率略低