发布日期:2018-03-26
HashMap和Hashtable之间的区别?+ 查看更多
HashMap和Hashtable之间的区别?
+ 查看更多
发布日期:2018-03-10 14:29
分类:JAVA
浏览次数:95
Java中的HashMap和Hashtable有什么区别?哪一种在不使用线程的应用程序中更高效?
回答
Java中的HashMap和Hashtable有几个区别:
- Hashtable是线程同步的,而HashMap不是。这使得HashMap更适合非线程的应用程序,因为线程不同步的对象通常执行效率比线程同步的更高。
- Hashtable不允许空键或空值,而HashMap允许一个空键和任意数量的空值。
- HashMap的子类之一是LinkedHashMap,所以在你想要指定的迭代顺序的情况下(通常是按插入顺序),你可以轻松地将HashMap换为LinkedHashMap,如果你使用Hashtable的话这就不容易了。
因为线程同步对你来说不是主要问题,所以我推荐你使用HashMap。如果你要考虑线程同步的话,你也可以看看ConcurrentHashMap。