HashMap和HashTable的区别

  1. 继承类不同:

    A.HashMap继承AbstractMap

    B.Hashtable继承Dictionary

  2. 执行效率不同:

    A.HashMap是非线程安全的,是Hashtable的轻量级实现,效率较高

    B.Hashtable是线程安全的,效率较低

    Hashtale是Syncchronize的,而HashMap是Asyncchronize的,当多个线程访问Hashtable时,Hashtable不需要自己为它的方法实现同步;而当多个线程访问HashMap时,需要通过Collections.synchronizedMap来同步HashMap。

  3. put方法对key和value的要求不同

    A.HashMap允许Entry的key或value为null

    B.Hashtable不允许Entry的key或value为null,否则出现NullPointerException

  4. 有无contains方法

    A.HashMap没有contains方法

    B.Hashtable有contains方法

     

     

     

    只为记录,如有抄袭,敬请见谅。

posted @ 2017-09-21 16:44  机智的阿勇  阅读(119)  评论(0)    收藏  举报