内容来自 DOC https://q.houxu6.top/?s=在Java中,HashMap和Hashtable之间的区别是什么?
在Java中,HashMap
和Hashtable
之间的区别是什么?
对于非多线程应用程序,哪种更高效?
Java中HashMap
和Hashtable
之间有几个区别:
-
Hashtable
是同步的,而HashMap
不是。这使得HashMap
更适合非多线程应用程序,因为未同步的对象通常比同步对象表现更好。 -
Hashtable
不允许使用空键或值。HashMap
允许一个空键和任意数量的空值。 -
HashMap
的一个子类是LinkedHashMap
,所以如果你想要可预测的迭代顺序(默认情况下是插入顺序),可以轻松地将HashMap
替换为LinkedHashMap
。如果你使用的是Hashtable
,则无法轻松实现这一点。
由于同步问题不适用于您的情况,因此我建议使用HashMap
。如果同步成为问题,您还可以查看ConcurrentHashMap
。