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有啥共同点和区别

Java 中 Hashtable与HashMap的区别

Java中HashSet,HashMap和HashTable的区别(转)

JAVA中HashMap和Hashtable区别

Java集合HashMap和Hashtable的区别

java 的HashMap和HashTable的区别?