HashTable
1.是线程安全的,put方法被synchronized修饰了,多线程访问不需提供外同步。
2.不允许key和value值为null,否则会报出空指针异常。
3.put方法中key调用了hasCode()方法。
4.HashTable继承了dictionary
5.HashTable比HashMap旧一些。
HashMap
1.非线程安全的,put方法没有被synchronized修饰,多线程访问需要提供外同步。
2.允许key和value为null。
3.HashMap 是Java1.2 引进的Map interface 的一个实现。
4.HashMap 是HashTable的轻量级实现。
二者之间执行效率可能HashMap略高一些,但差异不大。