HashMap是HashTable的轻量级实现(非线程安全的实现),他们都完成了Map接口。
区别
1.HashMap允许空(null)键值(key),由于非线程安全,所以在性能上可能会高于HashTable
2.HashMap把HashTable的Contains方法去掉了,改为了ContainsKey和ContainsValue.因为contains方法容易引起误解。
3.HashTable继承自Dictionary类,而HashMap是来自于Java1.2的一个Map interface实现。
4.HashTable的方法是synchronize的,HashMap不是,在多个线程访问HashTable时,不需自己为他的方法实现同步,而HashMap就必须为方法实现外同步。
5.HashMap和HashTable的算法都采用的是hash/rehash,性能上基本差别不大。