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。
源码部分等到我更深入的学习的时候会添加。