两者都是实现哈希表的类,都实现了MAP接口.不同的有两点:第一,HashMap 容许键或值为null,而Hashtable不容许键或值为null;第二,Hashtable是同步的,而HashMap是不同步的,以至Hashtable是不需要为其方法去实现同步.
因为是哈希表,所以会根据键的不同而确定在内存中的地址和值.
两个类的方法大概一样,只是HashMap会快一点因为没有同步.
方法主要有构造的方法,构造时可以设置哈希表的属性:初始大小与加载因子(指的是当哈希表满了时,增大多少);
其次是查增删改的方法.
查:通过键去得到值get(Object key) ;或查看哈希表中有没有某个键或某个值.containsKey(Object key) ;containsValue(Object value) ;哈希表是否为空isEmpty() ..
增:把一键值对加入到哈希表中来put(K key, V value) ,加入一哈希表putAll(Map<? extends K,? extends V> m) .
删:删除键remove(Object key) ;清空clear() .
改:?????????????????????????????????????????
最后:返回集合 key Collection 或value Collection 或key_value~~~~~ Set
引出的问题: 1 . collection ;set
2.同步?Synchronize