您当前的位置: 首页 > 

蓝不蓝编程

暂无认证

  • 5浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

HashMap和Hashtable的差别

蓝不蓝编程 发布时间:2014-04-20 14:52:00 ,浏览量:5



1. HashMap 与 Hashtable继承自不同的类

    1) HashMap 继承自AbstractMap,而AbstractMap实现了Map接口

    2) Hashtable 继承自Dictionary

2. HashMap可以以null为key,而Hashtable不可以,这点差别源自于两者对于null有不同的处理方式,具体见下面代码:

   1) HashMap     (put方法:public V put(K key, V value))

if (key == null)
    return putForNullKey(value);

   2) Hashable    (put方法:public synchronized V put(K key, V value))

if (value == null) {
    throw new NullPointerException();
}

3. HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey,因为contains方法容易让人引起误解,实际上此方法等同于containsvalue。

4. Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步(如使用:Collections.synchronizedMap)





关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0508s