HashMap | HashTable |
---|---|
非线程安全 | 线程安全 |
Map 的一个实现类 | 线程安全的一个集合 |
键和值都允许有 null 值 | 不允许键和值有 null 值 |
因线程安全效率高 | |
多个线程访问时不需要自己为它的方法实现同步 | 被多个线程访问的时候需要自己为它的方法实现同步 |
不同步 | 同步 |
适合于单线程环境 | 适合于多线程环境 |
HashMap 是线程不安全的,是 Map 的一个实现类,是将键映射到值得对象,不允许键值重复,允许空键和空值;由于非线程安全,HashMap 的效率要较HashTable 的效率高一些.
HashTable 是线程安全的一个集合,不允许 null 值作为一个 key 值或者Value 值 ;
HashTable 是 sychronize,多个线程访问时不需要自己为它的方法实现同步,而 HashMap 在被多个线程访问的时候需要自己为它的方法实现同步;