java中hashmap和hashtable的区别
Posted 数据结构和算法
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中hashmap和hashtable的区别相关的知识,希望对你有一定的参考价值。
想看更多算法题,可以扫描上方二维码关注我微信公众号“数据结构和算法”,截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有1000多页(并且还会不断的增加),可以在公众号中回复关键字“pdf”即可下载。
Hashtable是同步的,每个方法都加有synchronized锁。
HashMap不是同步的,方法没有加同步锁。
在单线程中使用HashMap会更好一些,因为不需要加锁。在多线程中推荐使用ConcurrentHashMap
Hashtable不允许使用空的key或者空的value。 HashMap允许使用null键和任意数量的null值。
HashMap有个子类是LinkedHashMap,可以认为他是一个双向环形链表,会记录插入的顺序,在android中使用的图片缓存类LRUCache就是使用LinkedHashMap实现的,而Hashtable没有这个子类。
以上是关于java中hashmap和hashtable的区别的主要内容,如果未能解决你的问题,请参考以下文章
java中HashMap和HashTable有啥共同点和区别