HashMap和Hashtable的区别

HashMap和Hashtable的区别

HashMap和Hashtable这两个是集合框架中比较常见的问题,所以我做了些总结便于回顾。

1.继承

Hashtable 继承自 Dictiionary 而 HashMap继承自AbstractMap

2.键值要求

hashtable不允许空值与空键,但是hashmap允许一个空键和任意数量空值。

3.contains方法

hashmap去除了contains方法,改为了containsValue和containsKey,但是hashtable这三个方法都有。

4.线程安全

HashMap非线程安全,在只有一个线程访问的情况下,效率要高于HashTable。

5.使用建议

正常情况下建议使用hashmap,如果是多线程建议选择concurrentHashMap。
源码部分等到我更深入的学习的时候会添加。

---本文结束,感谢阅读---