Hashtable与HashMap及ConcurrentHashMap有什么区别呢?

java-经验王 Java经验 发布时间:2022-04-27 10:59:12 阅读数:10948 1
下文笔者讲述Hashtable和HashMap和ConcurrentHashMap之间的区别,如下所示:
HashMap和Hashtable之间的区别:
    1.HashMap不是线程安全的,HashTable是线程安全
	2.HashMap允许空(null)的键和值(key),HashTable则不允许
	3.HashMap性能优于Hashtable

    HashTable容器使用synchronized来保证线程安全,
    由于线程竞争,所以HashTable的效率非常低下
  
Map:
    1.Map是一个以键值对存储的接口。Map下有两个具体的实现,分别是HashMap和HashTable.
    2.HashMap是线程非安全的,HashTable是线程安全的,所以HashMap的效率高于HashTable.
    3.HashMap允许键或值为空,而HashTable不允许键或值为空.
    4.继承关系不同:
	 HashTable 
  public class Hashtable<K,V>
    extends Dictionary<K,V>1.0
implements Map<K,V>, Cloneable, java.io.Serializable {}
    HashMap
  public class HashMap<K,V>
    extends AbstractMap<K,V>1.2
implements Map<K,V>, Cloneable, Serializable{}

ConcurrentHashMap和HashMap都是线程安全的容器,
但是ConcurrentHashMap的性能比HashMap优秀
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202204/16510296033159.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者