一尘不染

Java HashMap和Hashtable之间的区别?

java

Java中的a HashMap和a有什么区别Hashtable

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


阅读 316

收藏
2020-02-25

共1个答案

一尘不染

HashMapHashtable在Java中有一些区别:

  1. Hashtable是同步的,而HashMap不是。这HashMap对于非线程应用程序更好,因为非同步对象的性能通常优于同步对象。

  2. Hashtable不允许null键或值。 HashMap允许一个null键和任意数量的null值。

  3. HashMap的子类之一是LinkedHashMap,因此,如果你想要可预测的迭代顺序(默认情况下为插入顺序),则可以轻松地将替换HashMapLinkedHashMap。如果使用,这将不那么容易Hashtable

由于同步对你来说不是问题,因此建议你HashMap。如果同步成为问题,你也可以查看ConcurrentHashMap

2020-02-25