HashMap和Hashtable的区别
1.共同点:都是双列集合,底层都是哈希算法
2.区别:
* 1.HashMap是线程不安全的,效率高,JDK1.2版本
* Hashtable是线程安全的,效率低,JDK1.0版本
* 2.HashMap可以存储null键和null值
* Hashtable不可以存储null键和null值
3.代码示例:
public class testHashtable {
public static void main(String []args){
HashMap<String,Integer> hm=new HashMap<>();
hm.put(null,1);
hm.put("张三",null);
System.out.println(hm);
Hashtable<String,Integer> ht=new Hashtable<>();
ht.put(null,8);
ht.put("张三",null);
System.out.println(ht);
}
}
HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。
1 作者
Hashtable的作者:
HashMap的作者:
Hash Map的作者比Hashtable的作者多了著名顶顶的并发大神Doug Lea。他写了util.concurrent包。著有并发编程圣经Concurrent Programming in Java: Design Principles and Patterns 一书。他的个人主页: h