- HashMap没有考虑同步,是线程不安全的;HashTable使用了Synchronized关键字,是线程安全的;
- HashMap允许K/V都为null;而后者K/V都不允许为null;
- HashMap继承了AbstractMap类,而HashTable继承Dictionary类。但二者都实现了Map接口;
- HashMap只有containsValue和containsKey方法,而HashTable有contains、containsKey和containsvalue三个方法,其中contains和containsValue功能相同。
- HashTable 在不指定原始容量的情况下的默认容量为11,而 HashMap 为16,HashTable 不要求底层数组的容量一定要为2的整数次幂,而 HashMap 则要求一定为2的整数次幂;
HashTable 扩容时,将容量变为原来的2倍加1,而 HashMap 扩容时,将容量变为原来的2倍。
HashMap和HashTable的区别
于 2022-04-20 20:25:40 首次发布