HashMap与Hashtable都是java的集合类,都可以用来存放java对象,这是他们的相同点,但是他们也有区别:
一:历史原因:
Hashtable是基于陈旧的Dictionary类的,HashMap是基于java 1.2引进的Map接口的一个实现类。
二:同步性
Hashtable 是同步的,该类的方法保证了,Hashtable中的对象是线程安全的,而HashMap则是异步的。因此HashMap中的对象并不是线程安全的,因为同步的要求会影响执行的效率。所以如果不需要线程安全的集合,那么我们就要毫不犹豫的使用HashMap,这样可以避免由于同步带来的不必要的性能开销,从而提高效率。