Java中HashMap和Hashtable之间的区别是什么?

对于非线程应用程序,哪个更有效?


当前回答

HashMap是一个用于以键和值格式存储元素的类。它不是线程安全的。因为它不同步。其中as Hashtable是同步的。Hashmap允许null,但hastable不允许null。

其他回答

Hashtable是同步的,而HashMap不是。这使得Hashtable比Hashmap慢。

对于单线程应用程序,请使用HashMap,因为它们在功能方面是相同的。

HashMap是模拟的,因此可以在GWT客户端代码中使用,而Hashtable不是。

HashMap:它是java.util包中可用的类,用于以键和值格式存储元素。

Hashtable:它是一个在集合框架中被识别的遗留类。

Hashtable与HashMap类似,具有类似的接口。建议您使用HashMap,除非您需要支持遗留应用程序或需要同步,因为Hashtable方法是同步的。因此,在您不是多线程的情况下,HashMaps是您的最佳选择。

Hashtable是同步的,而HashMap不是。另一个区别是HashMap中的迭代器是故障安全的而Hashtable的枚举器不是。如果您更改地图在迭代时,你会知道。HashMap允许其中包含空值,而Hashtable不允许。