三方面: 一.历史原因:Hashtable继承于陈旧的Dictorary抽象类,HashMap是java1.2引进的Map接口的实现。(二者都实现了Map接口) 二.同步性:Hashtable是线程安全的,HashMap线程不安全。 三.只有HashMap可以将空值null作为key或者value的值。