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:同步、 非空键值、效率略低
HashMap与Hashtable
本文对比了HashMap和Hashtable两个Java集合类的不同之处。主要介绍了两者在线程安全性、null键值支持及性能上的区别。对于多线程环境下的应用选择提供了指导。
1562

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



