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

本文深入探讨了HashMap和Hashtable的实现原理、区别以及应用场景,包括HashMap的非线程安全特性、性能优势以及如何在多线程环境中使用。同时解释了Hashtable与Dictionary类的关系,以及它们在实际开发中的区别。
1566

被折叠的 条评论
为什么被折叠?



