HashMap和Hashtable的区别
1.它们都属于Map接口的类,实现了将唯一键映射到特定的值上;
2.Hashtable底层是一个哈希表是一个线程安全的集合,是单线程集合,速度慢;
3.HashMap底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快;
4.HashMap类没有分类或者排序,它允许存储一个null键和多个null值;
5.Hashtable类似于HashMap,但是不允许存储null键和null值;
6.Hashtable继承自Dictinary类,而HashMap是java1.2引进Map接口的一个实现;
7.Hashtable的子类Properties依然活跃在历史舞台,Properties集合是一个唯一和集合相结合的集合;
8。HashMap把Hashtable的contains方法去掉,改成了containsValue()和containsKey();
9.Hashtable是线程同步的,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap则是非同步的,必须为之提供外同步。