1、两者继承的类不同
hashtable继承dictionary类,hashmap继承abstractHashMap类,
2、两者提供的接口不同
3、两者对null处理不同
hashmap中key不能为null,但是value可以为null,而且整个对象中,可以有多个key的值都为null;但是hashtable中key和value都不允许为null;
4、线程安全控制不同
hashmap线程不安全,hashtable线程是安全的;但是hashtable的线程安全是每个方法都用了syncrnaized关键字,效率太低,hashmap保证了大多数单线程环境下,运行效率,如果想使用hashmap的线程安全控制,可以用concurrentHashMap,concurrenthashmap采用的是分段的加锁逻辑,效率比hashtable也要高。