HashMap与Hashtable的异同点
- hashtable是线程安全的,hashmap不是。对线程要求不严格的情况下,hashmap的性能更好。
- HashTable不允许null作为key值或value值,Hashmap可以允许一个null作为key值,同时允许多个null作为value值。
- HashMap有个子类LinkedHashMap,如果你想实现线性的HashMap,让元素有序插入,如果你使用HashMap的话,你可以较方便的切换为LinkedHashMap,但是如果你使用HashTable,就会麻烦很多。
现在也很少使用Hashtable了,因为Hashtable在保证线程安全的时候,只是简单的加上synchronized关键字,性能上并没有多好。如果想使用线程安全的hashmap,你应该使用ConcurrentHashMap.