HashMap与HashTable

Posted tearfc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap与HashTable相关的知识,希望对你有一定的参考价值。

 

HashMap实现了Map接口,HashTable是Dictionary的子类

主要区别有以下三点:

1.HashMap允许空的键值,也就是说 key 可以为 null(只能有一个key为null),而HashTable不可以;

2.HashMap不同步的,在多线程访问时,需要为它的方法实现同步Synchronize,而HashTable的方法是同步的;

  由于线程不安全,HashMap的效率可能会高于HashTable;

  HashMap的同步问题可通过Collections的一个静态方法得到解决:Map Collections.synchronizedMap(Map m);  

3.HashTable中的contains 方法在HashMap中变成了containsValue和containsKey。

以上是关于HashMap与HashTable的主要内容,如果未能解决你的问题,请参考以下文章

HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别

(转)HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别

HashMap底层实现原理以及HashMap与HashTable区别以及HashMap与HashSet区别

HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别

HashMap与HashTable的区别

JAVA源码走读 HashMap与ArrayList