zoukankan      html  css  js  c++  java
  • HashMap和Hashtable的差别

    

    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)



    
    
    
    
  • 相关阅读:
    软件工程—附加作业
    软件工程最终总结
    电梯调度(两人结对)
    VS单元测试
    第二周作业(2,3题)
    VS的安装
    补救
    漂亮男孩不说谎
    博客带我成长
    Java后缀数组-求sa数组
  • 原文地址:https://www.cnblogs.com/jerry1999/p/3677315.html
Copyright © 2011-2022 走看看