1 import java.util.HashMap;
2 import java.util.Hashtable;
3
4 public class DemoClass4Hashtable {
5 public static void main(String[] args) {
6 //TODO Map接口,另外一个实现类 Hashtable
7
8
9 Hashtable table = new Hashtable();
10 HashMap hashMap = new HashMap();
11
12
13 /*
14 * 1.基本方法可以借鉴HashMap,差异不大
15 * */
16
17 /*
18 * 2. 区别: 继承的父类不一样
19 * HashMap 继承:AbstractMap<K,V>
20 * Hashtable 继承:Dictionary<K,V>
21 * */
22
23 /*
24 * 3. 区别:底层结构的默认容量不一样
25 * HashMap(16) 底层是数组,默认长度16
26 * Hashtable(11) 底层是数组,默认长度11
27 * */
28
29 /*
30 * 4. 区别:
31 * HashMap 的key value都可以为:null
32 * Hashtable 的key value不可以为:null
33 * */
34
35 /*
36 * 5. 区别:
37 * HashMap的数据定位采用的是:哈希算法
38 * Hashtable的数据定位采用的就是hashcode
39 * */
40
41 /*
42 * 6. 区别:
43 * HashMap 的性能较高,多线程时候,因为没有处理机制,会有访问数据错误的情况
44 * Hashtable 的性能较低,但是在多线程情况,Hashtable会添加一些限制,来处理多线程数据访问问题,故多线程适合用次集合
45 * */
46 }
47 }